_strupr_s, _strupr_s_l, _mbsupr_s, _mbsupr_s_l, _wcsupr_s, _wcsupr_s_l
Převede řetězec na velká písmena pomocí aktuálního národního prostředí nebo zadaného národní prostředí, které je předáno.Tyto verze _strupr, _strupr_l, _mbsupr, _mbsupr_l, _wcsupr_l, _wcsupr mají rozšíření zabezpečení popsaná v tématu Funkce zabezpečení v CRT.
![]() |
---|
_mbsupr_s a _mbsupr_s_l nelze použít v aplikacích, které jsou spouštěny v modulu Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány s /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
Řetězec, který se má převést na velká písmena.numberOfElements
Velikost vyrovnávací paměti.locale
Použité národní prostředí.
Vrácená hodnota
Nula v případě úspěchu; při selhání nenulový kód chyby.
Tyto funkce ověřují své parametry.Pokud je str ukazatel NULL, je vyvolána obslužná rutina neplatného parametru, jak je popsáno v Ověření parametru.Pokud provádění může pokračovat, vrátí funkce EINVAL a nastaví errno na EINVAL.Pokud numberOfElements je menší než délka řetězce, vrátí funkce ERANGE a nastaví errno na ERANGE.
Poznámky
Funkce _strupr_s převede na místě každé malé písmeno v str na velké písmeno._wcsupr_s je širokoznaká verze _strupr_s._mbsupr_s je vícebajtová znaková verze _strupr_s.
Převod je určen nastavením kategorie LC_CTYPE národního prostředí.Jiné znaky nejsou ovlivněny.Další informace o LC_CTYPE naleznete v části setlocale.Verze těchto funkcí bez přípony _l používají aktuální národní prostředí pro toto chování závislé na národním prostředí. Verze s příponou _l jsou stejné s tím rozdílem, že používají předaný parametr národního prostředí.Další informace naleznete v tématu Národní prostředí.
V jazyce C++ je použití těchto funkcí zjednodušeno díky přetížení šablon; přetížení dokáží odvodit velikost vyrovnávací paměti automaticky (tak, že eliminují potřebu zadat argument velikosti) a automaticky nahradit starší, nezabezpečené funkce jejími novějšími, bezpečnějšími protějšky.Další informace naleznete v tématu Přetížení zabezpečení šablony.
Ladicí verze těchto funkcí nejprve naplní vyrovnávací paměť hodnotou 0xFD.Chcete-li zakázat toto chování, použijte _CrtSetDebugFillThreshold.
Rutinní mapování obecného textu
Rutina TCHAR.H |
_UNICODE & _MBCS není definováno |
_MBCS definováno |
_UNICODE definováno |
---|---|---|---|
_tcsupr_s |
_strupr_s |
_mbsupr_s |
_wcsupr_s |
_tcsupr_s_l |
_strupr_s_l |
_mbsupr_s_l |
_wcsupr_s_l |
Požadavky
Rutina |
Požadované záhlaví |
---|---|
_strupr_s, _strupr_s_l |
<string.h> |
_wcsupr_s, _wcsupr_s_l, _mbsupr_s, _mbsupr_s_l |
<string.h> nebo <wchar.h> |
Další informace o kompatibilitě naleznete v tématu Kompatibilita.
Příklad
Viz příklad _strlwr_s, _strlwr_s_l, _mbslwr_s, _mbslwr_s_l, _wcslwr_s, _wcslwr_s_l.
Ekvivalent v rozhraní .NET Framework
Viz také
Referenční dokumentace
Výklad sekvencí vícebajtových znaků
_strlwr_s, _strlwr_s_l, _mbslwr_s, _mbslwr_s_l, _wcslwr_s, _wcslwr_s_l