Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Преобразуют буквы в строке в прописные с использованием текущего или переданного языкового стандарта. Эти версии , , _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