Regionalne
Ustawienia regionalne odnoszą się do ustawień języka i kraju/regionu, które można użyć, aby dostosować program.Niektóre kategorie zależne od ustawień lokalnych obejmują formaty wyświetlania dat i jednostek monetarnych.Aby uzyskać więcej informacji, zobacz Kategorie regionalne.
Użycie funkcji setlocale do zmiany lub zapytania niektórych / wszystkich bieżących informacji regionalnych programu lub wątku podczas korzystania z funkcji bez przyrostka _l.Funkcje z przyrostkiem _l użyją parametru ustawień regionalnych przekazanego do ich informacji o ustawieniach regionalnych tylko podczas wykonywania określonych funkcji.Aby utworzyć ustawienia regionalne do użycia z funkcją z przyrostkiem _l należy użyć _create_locale.Aby zwolnić te ustawienia regionalne, należy użyć _free_locale.Aby uzyskać bieżące ustawienia regionalne, użyj elementu _get_current_locale.
Użyj _configthreadlocale aby kontrolować, czy każdy wątek posiada własne ustawienia regionalne lub czy wszystkie wątki w programie udostępniają te same ustawienia regionalne.Aby uzyskać więcej informacji, zobacz Ustawienia regionalne i strony kodowe.
Dostępne są bezpieczniejsze wersje funkcji z poniższej tabeli, wskazane przez przyrostek ("bezpieczne") _s.Aby uzyskać więcej informacji, zobacz Funkcje zabezpieczeń w CRT.
Procedury zależne od ustawień regionalnych
Procedura |
Użyj |
Zależność ustawienia kategorii setlocale |
---|---|---|
Konwertowanie znaków na wartość zmiennoprzecinkową |
LC_NUMERIC |
|
Konwertowanie znaków na wartość całkowitą |
LC_NUMERIC |
|
Konwertowanie znaków na 64-bitową wartość całkowitą |
LC_NUMERIC |
|
Konwertowanie znaków na wartość długą |
LC_NUMERIC |
|
Konwertowanie znaków na wartość podwójnie długą. |
LC_NUMERIC |
|
Test danej liczby całkowitej dla określonego warunku. |
LC_CTYPE |
|
Test dla bajtu początkowego |
LC_CTYPE |
|
Odczytanie odpowiednich wartości podczas formatowania liczb. |
LC_MONETARY, LC_NUMERIC |
|
Maksymalna długość w bajtach dowolnych znaków wielobajtowych w bieżących ustawieniach regionalnych (zdefiniowane w STDLIB makro.H) |
LC_CTYPE |
|
Skopiuj znak wielobajtowy. |
LC_CTYPE |
|
Sprawdź poprawność i zwróć liczbę bajtów w znakach wielobajtowych |
LC_CTYPE |
|
strlen, strlen_l, wcslen, wcslen_l, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l |
Dla ciągów znaków wielobajtowych: sprawdź poprawność każdego znaku w ciągu; zwróć długość ciągu |
LC_CTYPE |
Przekonwertuj ciąg znaków wielobajtowych do odpowiadającej sekwencji znaków dwubajtowych |
LC_CTYPE |
|
Przekonwertuj znak wielobajtowy na odpowiadający znak dwubajtowy |
LC_CTYPE |
|
Funkcje printf |
Podaj sformatowane dane wyjściowe |
LC_NUMERIC (określa podstawę znaków wyjścia) |
Funkcje scanf |
Odczytaj sformatowane dane wejściowe |
LC_NUMERIC (określa podstawę rozpoznawania znaków) |
Wybierz ustawienia regionalne 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ównywanie dwóch ciągów bez uwzględniania wielkości liter |
LC_CTYPE |
_stricoll, _wcsicoll, _mbsicoll, _stricoll_l, _wcsicoll_l, _mbsicoll_l |
Porównywanie znaków z dwóch ciągów (jest uwzględniana wielkość liter) |
LC_COLLATE |
_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l |
Porównaj najpierw znaki n dwóch ciągów |
LC_COLLATE |
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l |
Porównanie znaków z dwóch ciągów bez uwzględniania wielkości liter. |
LC_CTYPE |
_strnicoll, _wcsnicoll, _mbsnicoll, _strnicoll_l, _wcsnicoll_l, _mbsnicoll_l |
Porównaj najpierw znaki n z ciągów znaków (bez uwzględniania wielkości liter) |
LC_COLLATE |
Formatowanie wartości daty i godziny zależnie od 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 |
Przekonwertuj, w miejscu każdej wielkiej litery w podanym ciągu wstaw małe litery |
LC_CTYPE |
Konwertuj znak na wartość double. |
LC_NUMERIC (określa podstawę rozpoznawania znaków) |
|
Konwertuj znak na wartość long |
LC_NUMERIC (określa podstawę rozpoznawania znaków) |
|
Przekonwertuj ciąg znaków na wartość długą bez znaku |
LC_NUMERIC (określa podstawę rozpoznawania znaków) |
|
_strupr, _strupr_l, _mbsupr, _mbsupr_l, _wcsupr_l, _wcsupr,_strupr_s, _strupr_s_l, _mbsupr_s, _mbsupr_s_l, _wcsupr_s, _wcsupr_s_l |
Przekonwertuj, w miejscu każdej małej litery w podanym ciągu wstaw wielkie litery |
LC_CTYPE |
Przekształć ciąg do postaci posortowanej według ustawień regionalnych |
LC_COLLATE |
|
tolower, _tolower, towlower, _tolower_l, _towlower_l,_mbctolower, _mbctolower_l, _mbctoupper, _mbctoupper_l |
Przekonwertuj znak do odpowiadającej małej litery |
LC_CTYPE |
toupper, _toupper, towupper, _toupper_l, _towupper_l,_mbctolower, _mbctolower_l, _mbctoupper, _mbctoupper_l |
Przekonwertuj znak do odpowiadającej wielkiej litery |
LC_CTYPE |
Przekonwertuj ciąg znaków dwubajtowych do odpowiadającej sekwencji znaków wielobajtowych |
LC_CTYPE |
|
Przekonwertuj znak dwubajtowy na odpowiadający znak wielobajtowy |
LC_CTYPE |
[!UWAGA]
Dla procedur wielobajtowych, wielobajtowa strona kodowa musi być równoważna z ustawieniami regionalnymi setlocale._setmbcp, z argumentem _MB_CP_LOCALE sprawia, że wielobajtowa strona kodowa jest taka sama, jak strona kodowa setlocale.