Ustawienia regionalne
Ustawienia regionalne odnoszą się do ustawień kraju/regionu i języka, których można użyć do dostosowania programu. Niektóre kategorie zależne od ustawień regionalnych obejmują formaty wyświetlania dat i wartości pieniężnych. Aby uzyskać więcej informacji, zobacz Kategorie ustawień regionalnych.
setlocale
Użyj funkcji , aby zmienić lub wysłać zapytanie do niektórych lub wszystkich bieżących informacji o ustawieniach regionalnych programu lub wątku podczas korzystania z funkcji bez sufiksu_l
. Funkcje z sufiksem _l
będą używać parametru ustawień regionalnych przekazanych do informacji o ustawieniach regionalnych tylko podczas wykonywania tej konkretnej funkcji. Aby utworzyć ustawienia regionalne do użycia z funkcją z sufiksem _l
, użyj polecenia _create_locale
. Aby zwolnić te ustawienia regionalne, użyj polecenia _free_locale
. Aby uzyskać bieżące ustawienia regionalne, użyj polecenia _get_current_locale
.
Służy _configthreadlocale
do kontrolowania, czy każdy wątek ma własne ustawienia regionalne, czy wszystkie wątki w programie współużytkują te same ustawienia regionalne. Aby uzyskać więcej informacji, zobacz Ustawienia regionalne i strony kodu.
Dostępne są bezpieczniejsze wersje funkcji w poniższej tabeli, wskazywane przez _s
sufiks ("bezpieczny"). Aby uzyskać więcej informacji, zobacz Funkcje zabezpieczeń w CRT.
Procedury zależne od ustawień regionalnych
Procedura | Używanie | setlocale zależność od kategorii |
---|---|---|
atof , , _atof_l , , _wtof _wtof_l |
Konwertowanie znaku na wartość zmiennoprzecinkową | LC_NUMERIC |
atoi , , _atoi_l , , _wtoi _wtoi_l |
Konwertowanie znaku na wartość całkowitą | LC_NUMERIC |
_atoi64 , , _atoi64_l , , _wtoi64 _wtoi64_l |
Konwertowanie znaku na wartość 64-bitowej liczby całkowitej | LC_NUMERIC |
atol , , _atol_l , , _wtol _wtol_l |
Konwertowanie znaku na wartość długą | LC_NUMERIC |
_atodbl , , _atodbl_l , _atoldbl , _atoldbl_l , , _atoflt _atoflt_l |
Konwertowanie znaku na wartość o podwójnej długości | LC_NUMERIC |
is , isw procedury |
Przetestuj podaną liczbę całkowitą dla określonego warunku. | LC_CTYPE |
isleadbyte , _isleadbyte_l |
Testowanie pod kątem bajtów potencjalnych klientów | LC_CTYPE |
localeconv |
Odczytywanie odpowiednich wartości do formatowania ilości liczbowych | LC_MONETARY, LC_NUMERIC |
MB_CUR_MAX |
Maksymalna długość w bajtach dowolnego znaku wielobajtowego w bieżących ustawieniach regionalnych (makro zdefiniowane w )STDLIB.H |
LC_CTYPE |
_mbccpy , _mbccpy_l ,_mbccpy_s , _mbccpy_s_l |
Kopiuj jeden znak wielobajtowy | LC_CTYPE |
_mbclen , , mblen _mblen_l |
Weryfikowanie i zwracanie liczby bajtów w znakach wielobajtowych | LC_CTYPE |
strlen , , wcslen , _mbslen , _mbslen_l , , _mbstrlen _mbstrlen_l |
W przypadku ciągów wielobajtowych znaków: zweryfikuj każdy znak w ciągu; długość ciągu zwracanego | LC_CTYPE |
mbstowcs , _mbstowcs_l ,mbstowcs_s , _mbstowcs_s_l |
Konwertowanie sekwencji znaków wielobajtowych na odpowiednią sekwencję znaków szerokich | LC_CTYPE |
mbtowc , _mbtowc_l |
Konwertowanie znaku wielobajtowego na odpowiedni znak szeroki | LC_CTYPE |
printf , funkcje |
Zapis sformatowanych danych wyjściowych | LC_NUMERIC (określa dane wyjściowe znaku promieniowego) |
scanf , funkcje |
Odczytywanie sformatowanych danych wejściowych | LC_NUMERIC (określa rozpoznawanie znaków promieniowych) |
setlocale , _wsetlocale |
Wybieranie ustawień regionalnych dla programu | Nie dotyczy |
strcoll , , wcscoll , _mbscoll , _strcoll_l , , _wcscoll_l _mbscoll_l |
Porównywanie znaków dwóch ciągów | LC_COLLATE |
_stricmp , , _wcsicmp , _mbsicmp , _stricmp_l , , _wcsicmp_l _mbsicmp_l |
Porównanie dwóch ciągów bez względu na wielkość liter | LC_CTYPE |
_stricoll , , _wcsicoll , _mbsicoll , _stricoll_l , , _wcsicoll_l _mbsicoll_l |
Porównywanie znaków dwóch ciągów (bez uwzględniania wielkości liter) | LC_COLLATE |
_strncoll , , _wcsncoll , _mbsncoll , _strncoll_l , , _wcsncoll_l _mbsncoll_l |
Porównywanie pierwszych n znaków dwóch ciągów |
LC_COLLATE |
_strnicmp , , _wcsnicmp , _mbsnicmp , _strnicmp_l , , _wcsnicmp_l _mbsnicmp_l |
Porównaj znaki dwóch ciągów bez względu na wielkość liter. | LC_CTYPE |
_strnicoll , , _wcsnicoll , _mbsnicoll , _strnicoll_l , , _wcsnicoll_l _mbsnicoll_l |
Porównaj pierwsze n znaki dwóch ciągów (bez uwzględniania wielkości liter) |
LC_COLLATE |
strftime , , wcsftime , , _strftime_l _wcsftime_l |
Formatuj wartość daty i godziny zgodnie z podanym format argumentem |
LC_TIME |
_strlwr , _wcslwr , , _mbslwr , _wcslwr_l _mbslwr_l , _mbslwr_s_l _wcslwr_s _strlwr_l _strlwr_s _strlwr_s_l _mbslwr_s _wcslwr_s_l |
Konwertuj, w miejscu, każdą wielką literę w danym ciągu na małe litery | LC_CTYPE |
strtod , , _strtod_l , , wcstod _wcstod_l |
Konwertowanie ciągu znaków na double wartość |
LC_NUMERIC (określa rozpoznawanie znaków promieniowych) |
strtol , , wcstol , , _strtol_l _wcstol_l |
Konwertowanie ciągu znaków na long wartość |
LC_NUMERIC (określa rozpoznawanie znaków promieniowych) |
strtoul , , _strtoul_l , , wcstoul _wcstoul_l |
Konwertowanie ciągu znaku na niepodpisaną wartość długą | LC_NUMERIC (określa rozpoznawanie znaków promieniowych) |
_strupr , _strupr_l , , _mbsupr , _wcsupr_l _wcsupr , _mbsupr_s_l _wcsupr_s _mbsupr_l _strupr_s _strupr_s_l _mbsupr_s _wcsupr_s_l |
Konwertuj, w miejscu, każdą małą literę w ciągu na wielkie litery | LC_CTYPE |
strxfrm , , wcsxfrm , , _strxfrm_l _wcsxfrm_l |
Przekształcanie ciągu w formularzu sortowania zgodnie z ustawieniami regionalnymi | LC_COLLATE |
tolower , _tolower , , towlower , _tolower_l ,_towlower_l , _mbctolower_l _mbctolower , _mbctoupper _mbctoupper_l |
Konwertowanie danego znaku na odpowiadające małe litery | LC_CTYPE |
toupper , _toupper , , towupper , _toupper_l ,_towupper_l , _mbctolower_l _mbctolower , _mbctoupper _mbctoupper_l |
Konwertowanie danego znaku na odpowiadającą wielką literę | LC_CTYPE |
wcstombs , _wcstombs_l ,wcstombs_s , _wcstombs_s_l |
Konwertowanie sekwencji znaków szerokich na odpowiadającą sekwencję znaków wielobajtowych | LC_CTYPE |
wctomb , _wctomb_l ,wctomb_s , _wctomb_s_l |
Konwertowanie znaku szerokiego na odpowiadający znak wielobajtowy | LC_CTYPE |
Uwaga
W przypadku procedur wielobajtowych strona kodu wielobajtowego musi być równoważna ustawieniu ustawień regionalnych za pomocą polecenia setlocale
. _setmbcp
, z argumentem _MB_CP_LOCALE
sprawia, że strona kodu wielobajtowego jest taka sama jak strona kodowa setlocale
.
Zobacz też
Internacjonalizacja
Procedury czasu wykonywania języka Universal C według kategorii