Národní prostředí
Národní prostředí označuje nastavení země/oblasti a jazyka, které můžete použít k přizpůsobení programu. Některé kategorie závislé na národním prostředí zahrnují formáty zobrazení kalendářních dat a peněžních hodnot. Další informace naleznete v tématu Kategorie národního prostředí.
setlocale
Pomocí funkce můžete při použití funkcí bez _l
přípony změnit nebo zadat dotaz na některé nebo všechny aktuální informace o národním prostředí programu nebo vlákna. Funkce s příponou _l
budou používat parametr národního prostředí předaný pro informace o národním prostředí pouze během provádění této konkrétní funkce. Chcete-li vytvořit národní prostředí pro použití s funkcí s příponou _l
, použijte _create_locale
. Chcete-li uvolnit toto národní prostředí, použijte _free_locale
. Chcete-li získat aktuální národní prostředí, použijte _get_current_locale
.
Slouží _configthreadlocale
k řízení, zda má každé vlákno vlastní národní prostředí, nebo všechna vlákna v programu sdílejí stejné národní prostředí. Další informace najdete v tématu Národní prostředí a znakové stránky.
K dispozici jsou bezpečnější verze funkcí v následující tabulce označené příponou _s
("secure"). Další informace naleznete v tématu Funkce zabezpečení v CRT.
Rutiny závislé na národním prostředí
Rutina | Používání | setlocale závislost nastavení kategorie |
---|---|---|
atof , _atof_l , , _wtof _wtof_l |
Převod znaku na hodnotu s plovoucí desetinou čárkou | LC_NUMERIC |
atoi , _atoi_l , , _wtoi _wtoi_l |
Převod znaku na celočíselnou hodnotu | LC_NUMERIC |
_atoi64 , _atoi64_l , , _wtoi64 _wtoi64_l |
Převod znaku na 64bitovou celočíselnou hodnotu | LC_NUMERIC |
atol , _atol_l , , _wtol _wtol_l |
Převod znaku na dlouhou hodnotu | LC_NUMERIC |
_atodbl , _atodbl_l , _atoldbl , _atoldbl_l , , _atoflt _atoflt_l |
Převod znaku na hodnotu s dvojitou délkou | LC_NUMERIC |
is , isw rutiny |
Otestujte zadané celé číslo pro konkrétní podmínku. | LC_CTYPE |
isleadbyte , _isleadbyte_l |
Test potenciálního bajtu | LC_CTYPE |
localeconv |
Čtení vhodných hodnot pro formátování číselných množství | LC_MONETARY, LC_NUMERIC |
MB_CUR_MAX |
Maximální délka v bajtech libovolného vícebajtového znaku v aktuálním národním prostředí (makro definované v STDLIB.H ) |
LC_CTYPE |
_mbccpy , ,_mbccpy_l _mbccpy_s ,_mbccpy_s_l |
Kopírování jednoho vícebajtového znaku | LC_CTYPE |
_mbclen , , mblen _mblen_l |
Ověření a vrácení počtu bajtů ve vícebajtových znacích | LC_CTYPE |
strlen , wcslen , _mbslen , _mbslen_l , , _mbstrlen _mbstrlen_l |
Pro řetězce s vícebajtovými znaky: ověřte každý znak v řetězci; návratová délka řetězce | LC_CTYPE |
mbstowcs , ,_mbstowcs_l mbstowcs_s ,_mbstowcs_s_l |
Převod posloupnosti vícebajtových znaků na odpovídající sekvenci širokých znaků | LC_CTYPE |
mbtowc , _mbtowc_l |
Převod vícebajtového znaku na odpovídající široký znak | LC_CTYPE |
printf – funkce |
Zápis formátovaného výstupu | LC_NUMERIC (určuje výstup znaku radix) |
scanf – funkce |
Čtení formátovaného vstupu | LC_NUMERIC (určuje rozpoznávání znaků radix) |
setlocale , _wsetlocale |
Výběr národního prostředí pro program | Nelze použít |
strcoll , wcscoll , _mbscoll , _strcoll_l , , _wcscoll_l _mbscoll_l |
Porovnání znaků dvou řetězců | LC_COLLATE |
_stricmp , _wcsicmp , _mbsicmp , _stricmp_l , , _wcsicmp_l _mbsicmp_l |
Porovnání dvou řetězců bez ohledu na malá a velká písmena | LC_CTYPE |
_stricoll , _wcsicoll , _mbsicoll , _stricoll_l , , _wcsicoll_l _mbsicoll_l |
Porovnání znaků dvou řetězců (nerozlišující malá a velká písmena) | LC_COLLATE |
_strncoll , _wcsncoll , _mbsncoll , _strncoll_l , , _wcsncoll_l _mbsncoll_l |
Porovnání prvních n znaků dvou řetězců |
LC_COLLATE |
_strnicmp , _wcsnicmp , _mbsnicmp , _strnicmp_l , , _wcsnicmp_l _mbsnicmp_l |
Porovnejte znaky dvou řetězců bez ohledu na malá a velká písmena. | LC_CTYPE |
_strnicoll , _wcsnicoll , _mbsnicoll , _strnicoll_l , , _wcsnicoll_l _mbsnicoll_l |
Porovnání prvních n znaků dvou řetězců (nerozlišující malá a velká písmena) |
LC_COLLATE |
strftime , wcsftime , , _strftime_l _wcsftime_l |
Formátování hodnoty data a času podle zadaného format argumentu |
LC_TIME |
_strlwr , _wcslwr , , _mbslwr , _strlwr_l , _wcslwr_l , , _strlwr_s_l _strlwr_s _mbslwr_l , , _mbslwr_s_l _mbslwr_s _wcslwr_s _wcslwr_s_l |
Převeďte všechna velká písmena v daném řetězci na malá písmena. | LC_CTYPE |
strtod , _strtod_l , , wcstod _wcstod_l |
Převod řetězce znaků na double hodnotu |
LC_NUMERIC (určuje rozpoznávání znaků radix) |
strtol , wcstol , , _strtol_l _wcstol_l |
Převod řetězce znaků na long hodnotu |
LC_NUMERIC (určuje rozpoznávání znaků radix) |
strtoul , _strtoul_l , , wcstoul _wcstoul_l |
Převod řetězce znaků na dlouhou hodnotu bez znaménka | LC_NUMERIC (určuje rozpoznávání znaků radix) |
_strupr , _strupr_l , , _mbsupr , _mbsupr_l , _wcsupr_l , , _strupr_s_l _strupr_s _wcsupr , , _mbsupr_s_l _mbsupr_s _wcsupr_s _wcsupr_s_l |
Převeďte všechna malá písmena v řetězci na velká písmena. | LC_CTYPE |
strxfrm , wcsxfrm , , _strxfrm_l _wcsxfrm_l |
Transformace řetězce na kompletovaný formulář podle národního prostředí | LC_COLLATE |
tolower , _tolower , , towlower , _tolower_l , _towlower_l , _mbctolower_l _mbctolower , , _mbctoupper _mbctoupper_l |
Převedení daného znaku na odpovídající znak malými písmeny | LC_CTYPE |
toupper , _toupper , , towupper , _toupper_l , _towupper_l , _mbctolower_l _mbctolower , , _mbctoupper _mbctoupper_l |
Převedení daného znaku na odpovídající velká písmena | LC_CTYPE |
wcstombs , ,_wcstombs_l wcstombs_s ,_wcstombs_s_l |
Převod posloupnosti širokých znaků na odpovídající sekvenci vícebajtových znaků | LC_CTYPE |
wctomb , ,_wctomb_l wctomb_s ,_wctomb_s_l |
Převedení širokého znaku na odpovídající vícebajtový znak | LC_CTYPE |
Poznámka:
Pro vícebajtové rutiny musí být vícebajtová znaková stránka ekvivalentní národnímu prostředí s setlocale
. _setmbcp
, s argumentem _MB_CP_LOCALE
vytvoří vícebajtovou znakovou stránku stejnou jako setlocale
znaková stránka.
Viz také
Internacionalizace
Rutiny UCRT (Universal C runtime) podle kategorie