_strupr_s, _strupr_s_l, _mbsupr_s, _mbsupr_s_l, _wcsupr_s, _wcsupr_s_l
Konwertuje ciąg na wielkie litery, przy użyciu bieżących ustawień regionalnych lub przekazanych, określonych ustawień regionalnych.Te wersje _strupr, _strupr_l, _mbsupr, _mbsupr_l, _wcsupr_l, _wcsupr mają wzmocnienia zabezpieczeń, jak opisano w Funkcje zabezpieczeń w CRT.
Ważne |
---|
_mbsupr_s i _mbsupr_s_l nie można używać w aplikacjach korzystających ze środowiska wykonawczego systemu Windows.Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsługiwane przez /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
Parametry
str
Ciąg do napisania wielką literą.numberOfElements
Rozmiar buforu.locale
Ustawienia regionalne do użycia.
Wartość zwracana
Zero, jeśli operacja się powiedzie; kod błędu różny od zera w razie porażki.
Te funkcje sprawdzają poprawność swoich parametrów.Jeśli str ma wartość NULL, zostanie wywołana procedura obsługi nieprawidłowego parametru, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może być kontynuowane, funkcje zwracają EINVAL i ustawiają errno jako EINVAL.Jeśli numberOfElements jest mniejsza niż długość ciągu, funkcja zwraca ERANGE i ustawia errno jako ERANGE.
Uwagi
Funkcja _strupr_s konwertuje, w miejscu, każdą małą literę w str na wielkie litery._wcsupr_s to wersja znaków dwubajtowych _strupr_s._mbsupr_s jest wersją znaków wielobajtowych _strupr_s.
Konwersja jest określona przez LC_CTYPE ustawienia kategorii lokalnej.Inne znaki nie są zagrożone.Aby uzyskać więcej informacji na temat LC_CTYPE, zobacz setlocale.Wersje tych funkcji, które nie mają przyrostka _l używają bieżących ustawień regionalnych; wersje, które mają przyrostek _l są identyczne, z tą różnicą, że w zamian korzystają z przekazanego parametru ustawień regionalnych.Aby uzyskać więcej informacji, zobacz Regionalne.
W języku programowania C++ korzystanie z tych funkcji jest uproszczone przez przeciążania szablonu; przeciążania mogą automatycznie wywnioskować długość buforu (tak, aby nie było konieczne określenie argumentu rozmiaru), ponadto te funkcje mogą automatycznie zastąpić starsze, niezabezpieczone funkcje nowszymi, bardziej bezpiecznymi odpowiednikami.Aby uzyskać więcej informacji, zobacz Przeciążenia bezpiecznych szablonów.
Wersje debugowania tych funkcji najpierw wypełniają bufor 0xFD.Aby wyłączyć to zachowanie, użyj _CrtSetDebugFillThreshold.
Rutynowe mapowania zwykłego tekstu
Procedura Tchar.h |
_UNICODE & _MBCS nie zdefiniowano |
_MBCS zdefiniowano |
_UNICODE zdefiniowany |
---|---|---|---|
_tcsupr_s |
_strupr_s |
_mbsupr_s |
_wcsupr_s |
_tcsupr_s_l |
_strupr_s_l |
_mbsupr_s_l |
_wcsupr_s_l |
Wymagania
Procedura |
Wymagany nagłówek |
---|---|
_strupr_s, _strupr_s_l |
<Ciąg> |
_wcsupr_s, _wcsupr_s_l, _mbsupr_s, _mbsupr_s_l |
<ciągo.h> lub <wchar.h> |
Dodatkowe informacje o zgodności – zobacz: Zgodność.
Przykład
Zobacz przykład _strlwr_s, _strlwr_s_l, _mbslwr_s, _mbslwr_s_l, _wcslwr_s, _wcslwr_s_l .
Odpowiednik w programie .NET Framework
Zobacz też
Informacje
Interpretacja wielobajtowych sekwencji znaków
_strlwr_s, _strlwr_s_l, _mbslwr_s, _mbslwr_s_l, _wcslwr_s, _wcslwr_s_l