Поделиться через


_strupr_s, _strupr_s_l, _mbsupr_s, _mbsupr_s_l, _wcsupr_s, _wcsupr_s_l

Преобразует строку в верхний регистр с помощью текущего языкового стандарта или указанного языкового стандарта, который передается в функцию. В этих версиях _strupr, _strupr_l, _mbsupr, _mbsupr_l, _wcsupr_l, _wcsupr усовершенствована безопасность, как описано в разделе Функции безопасности в CRT.

Важно!

_mbsupr_s и _mbsupr_s_l невозможно использовать в приложениях, запускаемых в среде выполнения Windows.Дополнительные сведения см. в статье Функции CRT, которые не поддерживаются с ключом /ZW.

errno_t _strupr_s(
   char *str,
   size_t numberOfElements
);
errno_t _wcsupr_s(
   wchar_t * str,
   size_t numberOfElements
);
errno_t _strupr_s_l(
   char * str,
   size_t numberOfElements,
   _locale_t locale
);
errno_t _wcsupr_s_l(
   wchar_t * str,
   size_t numberOfElements,
   _locale_t locale
);
errno_t _mbsupr_s(
   unsigned char *str,
   size_t numberOfElements
);
errno_t _mbsupr_s_l(
   unsigned char *str,
   size_t numberOfElements,
   _locale_t locale
);
template <size_t size>
errno_t _strupr_s(
   char (&str)[size]
); // C++ only
template <size_t size>
errno_t _wcsupr_s(
   wchar_t (&str)[size]
); // C++ only
template <size_t size>
errno_t _strupr_s_l(
   char (&str)[size],
   _locale_t locale
); // C++ only
template <size_t size>
errno_t _wcsupr_s_l(
   wchar_t (&str)[size],
   _locale_t locale
); // C++ only
template <size_t size>
errno_t _mbsupr_s(
   unsigned char (&str)[size]
); // C++ only
template <size_t size>
errno_t _mbsupr_s_l(
   unsigned char (&str)[size],
   _locale_t locale
); // C++ only

Параметры

  • str
    Строка для преобразования в верхний регистр.

  • numberOfElements
    Размер буфера.

  • locale
    Используемый языковой стандарт.

Возвращаемое значение

Ноль возвращается при успехе, ненулевое значение — код ошибки при сбое.

Эти функции проверяют свои параметры. Если параметр str указывает на NULL, вызывается обработчик недопустимого параметра, как описано в разделе Проверка параметров. Если продолжение выполнения разрешено, эти функции возвращают EINVAL и устанавливают для errno значение EINVAL. Если numberOfElements меньше, чем длина строки, функции возвращают ERANGE и устанавливают errno в ERANGE.

Заметки

Функция _strupr_s преобразует по месту буквы нижнего регистра в str в верхний регистр. _wcsupr_s — это расширенная версия _strupr_s. _mbsupr_s — это многобайтовая версия _strupr_s.

Преобразование определяется параметром категории LC_CTYPE языкового стандарта. Другие символы не затрагиваются. Дополнительные сведения по LC_CTYPE см. в разделе setlocale. Версии этих функций без суффикса _l используют текущий языковой стандарт; версии с суффиксом _l идентичны за исключением того, что они используют переданный параметр языкового стандарта. Для получения дополнительной информации см. Языковой стандарт.

В C++ использование данных функций упрощено наличием шаблонных перегрузок; перегруженные методы могут автоматически определять длину буфера (что исключает необходимость указания аргумента с размером буфера), а также они могут автоматически заменять более старые, незащищенные функции их новыми безопасными аналогами. Дополнительные сведения см. в разделе Безопасные перегрузки шаблонов.

Отладочные версии этих функций сначала заполняют буфер значением 0xFD. Для отключения данного поведения используйте _CrtSetDebugFillThreshold.

Универсальное текстовое сопоставление функций

Подпрограмма TCHAR.H

_UNICODE & _MBCS не определены

_MBCS определено

_UNICODE определено

_tcsupr_s

_strupr_s

_mbsupr_s

_wcsupr_s

_tcsupr_s_l

_strupr_s_l

_mbsupr_s_l

_wcsupr_s_l

Требования

Подпрограмма

Обязательный заголовок

_strupr_s, _strupr_s_l

<string.h>

_wcsupr_s, _wcsupr_s_l, _mbsupr_s, _mbsupr_s_l

<string.h> или <wchar.h>

Дополнительные сведения о совместимости см. в разделе Совместимость.

Пример

См. пример в разделе _strlwr_s, _strlwr_s_l, _mbslwr_s, _mbslwr_s_l, _wcslwr_s, _wcslwr_s_l.

Эквивалент в .NET Framework

System::String::ToUpper

См. также

Ссылки

Языковой стандарт

Интерпретация последовательностей в многобайтной кодировке

Управление строками (CRT)

_strlwr_s, _strlwr_s_l, _mbslwr_s, _mbslwr_s_l, _wcslwr_s, _wcslwr_s_l