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


_strupr_s, , _strupr_s_l_mbsupr_s_l_mbsupr_s_wcsupr_s,_wcsupr_s_l

Преобразуют буквы в строке в прописные с использованием текущего или переданного языкового стандарта. Эти версии , , _strupr_l, _wcsupr_mbsupr_mbsupr_l_wcsupr_l имеют улучшения безопасности, как описано в функциях _struprбезопасности в CRT.

Внимание

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

Синтаксис

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 идентичны им, за исключением того, что они используют переданный параметр языкового стандарта. Дополнительные сведения см. в разделе Locale.

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

Версии библиотек отладки этих функций сначала заполняют буфер 0xFE. Чтобы отключить это поведение, используйте _CrtSetDebugFillThreshold.

По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.

Сопоставления подпрограмм универсального текста

Подпрограмма 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, , _mbslwr_s_strlwr_s_l, _mbslwr_s_l, . _wcslwr_s_l _wcslwr_s

См. также

Локаль
Интерпретация последовательностей многобайтовых символов
Обработка строк
_strlwr_s, , _strlwr_s_l_mbslwr_s_l_mbslwr_s_wcslwr_s,_wcslwr_s_l