Národní prostředí
Národní prostředí se vztahuje k zemi a jazykovému nastavení, které je možné použít k přizpůsobení programu.Některé kategorie, závislé na národním prostředí, zahrnují formáty zobrazení data, času a peněžních hodnot.Další informace naleznete v tématu Kategorie národního prostředí.
Funkci setlocale je možné použít pro změnu nebo dotaz na aktuální nastavení národního prostředí programu nebo vlákna při použití funkcí bez přípony _l.Funkce s příponou _l, během provádění této specifické funkce, použijí předaný parametr národního prostředí, pro informaci o národním prostředí.K vytvoření národního prostředí, pro použití ve funkci s příponou _l, použijte funkci _create_locale.Pro uvolnění tohoto národního prostředí použijte funkci _free_locale.K získání aktuálního národního prostředí, použijte ovládací prvek _get_current_locale.
Použijte funkci _configthreadlocale pro určení, zda má každé vlákno své vlastní národní prostředí nebo všechna vlákna programu sdílejí stejné národní prostředí.Další informace naleznete v tématu Národní prostředí a znakové stránky.
Jsou k dispozici bezpečnější verze funkcí, uvedených v následující tabulce, označené příponou _s ("bezpečné").Další informace naleznete v tématu Funkce zabezpečení v CRT.
Rutiny závislé na národním prostředí
Rutina |
Pomocí |
Nastavení závislosti kategorie setlocale |
---|---|---|
Převádí znak na číslo s plovoucí desetinnou čárkou |
LC_NUMERIC |
|
Převádí znak na celočíselnou hodnotu |
LC_NUMERIC |
|
Převádí znak na celočíselnou 64-bitovou hodnotu |
LC_NUMERIC |
|
Převádí znak na dlouhé celé číslo |
LC_NUMERIC |
|
Převádí znak na dvojité dlouhé celé číslo |
LC_NUMERIC |
|
Testuje zadané celé číslo na konkrétní podmínku. |
LC_CTYPE |
|
Testuje úvodní bajt |
LC_CTYPE |
|
Čte příslušné hodnoty pro formátování číselných kvant |
LC_MONETARY, LC_NUMERIC |
|
Maximální délka jakéhokoli vícebajtového znaku v bajtech, v aktuálním národním prostředí (makro definováno v STDLIB.H) |
LC_CTYPE |
|
Kopíruje jeden vícebajtový znak |
LC_CTYPE |
|
Ověří a vrátí počet bajtů ve vícebajtovém znaku |
LC_CTYPE |
|
strlen, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l |
Pro vícebajtové znakové řetězce: ověření každý znak v řetězci, vrátí délku řetězce |
LC_CTYPE |
Převádí sekvenci vícebajtových znaků na odpovídající sekvenci širokých znaků |
LC_CTYPE |
|
Převádí vícebajtový znak a odpovídající široký znak |
LC_CTYPE |
|
funkce printf |
Zapisuje formátovaný výstup |
LC_NUMERIC (určuje zápis desetinné čárky) |
funkce scanf |
Čte formátovaný vstup |
LC_NUMERIC (určuje rozpoznávání desetinné čárky) |
Vybírá pro program národní prostředí |
Nelze použít |
|
strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l |
Porovnává dva řetězce znaků |
LC_COLLATE |
_stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, _mbsicmp_l |
Porovnává dva řetězce bez ohledu na velikost písmen |
LC_CTYPE |
_stricoll, _wcsicoll, _mbsicoll, _stricoll_l, _wcsicoll_l, _mbsicoll_l |
Porovnává dva řetězce (nerozlišuje velká a malá písmena) |
LC_COLLATE |
_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l |
Porovnává prvních n znaků dvou řetězců |
LC_COLLATE |
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l |
Porovnává znaky dvou řetězců bez ohledu na velikost písmen. |
LC_CTYPE |
_strnicoll, _wcsnicoll, _mbsnicoll, _strnicoll_l, _wcsnicoll_l, _mbsnicoll_l |
Porovnává prvních n znaků dvou řetězců (nerozlišuje velká a malá písmena) |
LC_COLLATE |
Formátuje hodnoty data a času dle poskytnutého argumentu format |
LC_TIME |
|
_strlwr, _wcslwr, _mbslwr, _strlwr_l, _wcslwr_l, _mbslwr_l,_strlwr_s, _strlwr_s_l, _mbslwr_s, _mbslwr_s_l, _wcslwr_s, _wcslwr_s_l |
Převádí v daném řetězci na místě všechna velká písmena na malá písmena |
LC_CTYPE |
Převádí znak na hodnotu double |
LC_NUMERIC (určuje rozpoznávání desetinné čárky) |
|
Převádí řetězec znaků na hodnotu long |
LC_NUMERIC (určuje rozpoznávání desetinné čárky) |
|
Převádí řetězec znaků na dlouhou celočíselnou hodnotu bez znaménka |
LC_NUMERIC (určuje rozpoznávání desetinné čárky) |
|
_strupr, _strupr_l, _mbsupr, _mbsupr_l, _wcsupr_l, _wcsupr,_strupr_s, _strupr_s_l, _mbsupr_s, _mbsupr_s_l, _wcsupr_s, _wcsupr_s_l |
Převádí v daném řetězci na místě všechna malá písmena na velká písmena |
LC_CTYPE |
Převádí řetězec, dle národního prostředí, do kompletované podoby |
LC_COLLATE |
|
tolower, _tolower, towlower, _tolower_l, _towlower_l,_mbctolower, _mbctolower_l, _mbctoupper, _mbctoupper_l |
Převádí daný znak na odpovídající malé písmeno |
LC_CTYPE |
toupper, _toupper, towupper, _toupper_l, _towupper_l,_mbctolower, _mbctolower_l, _mbctoupper, _mbctoupper_l |
Převádí daný znak na odpovídající velké písmeno |
LC_CTYPE |
Převádí sekvenci širokých znaků na odpovídající sekvenci vícebajtových znaků |
LC_CTYPE |
|
Převádí široký znak a odpovídající vícebajtový znak |
LC_CTYPE |
[!POZNÁMKA]
Pro vícebajtové rutiny, musí vícebajtová znaková stránka odpovídat národnímu prostředí, nastavenému pomocí setlocale.Funkce _setmbcp, s argumentem _MB_CP_LOCALE, nastaví vícebajtovou znakovou stránku na stejnou, jako je znaková stránka setlocale.