_strupr_s
, _strupr_s_l
, _mbsupr_s
, _mbsupr_s_l
, _wcsupr_s
_wcsupr_s_l
현재 로캘 또는 전달된 지정한 로캘을 사용하여 문자열을 대문자로 변환합니다. CRT의 _strupr_l
_strupr
보안 기능에 설명된 대로 이러한 버전의 < _wcsupr
_mbsupr
_mbsupr_l
_wcsupr_l
a0/>에는 보안 기능이 향상되었습니다.
Important
Windows 런타임에서 실행되는 애플리케이션에서는 _mbsupr_s
및 _mbsupr_s_l
을 사용할 수는 없습니다. 자세한 내용은 유니버설 Windows 플랫폼 앱에서 지원되지 않는 CRT 함수를 참조하세요.
구문
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
사용할 로캘입니다.
반환 값
정상적으로 실행되는 경우 0이고 오류가 발생하는 경우 0이 아닌 오류 코드입니다.
이러한 함수는 해당 함수 매개 변수의 유효성을 검사합니다. 포인터인 NULL
경우 str
매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기가 호출됩니다. 계속해서 실행하도록 허용된 경우 이 함수는 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> |
호환성에 대한 자세한 내용은 호환성을 참조하세요.
예시
에 _wcslwr_s
_strlwr_s_l
_wcslwr_s_l
_mbslwr_s_l
_mbslwr_s
대한 _strlwr_s
예제를 참조하세요.
참고 항목
Locale
멀티바이트 문자 시퀀스 해석
문자열 조작
_strlwr_s
, _strlwr_s_l
, _mbslwr_s
, _mbslwr_s_l
, _wcslwr_s
_wcslwr_s_l