Funkcje biblioteczne C - setlocale ()
Biblioteka standardowa języka C - <locale.h>
opis
Funkcje biblioteki Cchar * setlocale (int kategoria, const char * locale) , aby ustawić lub odczytać informacje lokalne.
oświadczenie
Poniżej znajduje się zestawienie funkcji setlocale ().
char *setlocale(int category, const char *locale)
parametry
- kategoria - To jest nazwany stałą określającą kategorię funkcji, które wpływają na ustawienia regionalne.
- LC_ALL obejmuje wszystkie poniższe opcje.
- PorównajLC_COLLATE ciąg.Zobacz strcoll ().
- Klasyfikacja znakówLC_CTYPE i nawrócenia.Na przykład strtoupper ().
- Format walutyLC_MONETARY dla localeconv ().
- LC_NUMERIC Separator dziesiętny dla localeconv ().
- DataLC_TIME i format czasu na strftime ().
- Odpowiedź układuLC_MESSAGES.
- locale - Jeśli locale jest zerowy lub pusty łańcuch "", strefa zostanie ustawiona zgodnie z nazwą zmiennej środowiskowej, która jest nazwą powyższych kategorii o tej samej nazwie.
Wartość zwracana
Jeśli się powiedzie wywołanie setlocale () zwraca odpowiadający lokalizacji nieprzezroczysty ciąg. Jeżeli wniosek jest nieważny, zwracana jest wartość NULL.
Przykłady
Poniższy przykład ilustruje funkcję setlocale () jest używana.
#include <locale.h> #include <stdio.h> #include <time.h> int main () { time_t currtime; struct tm *timer; char buffer[80]; time( &currtime ); timer = localtime( &currtime ); printf("Locale is: %s\n", setlocale(LC_ALL, "en_GB")); strftime(buffer,80,"%c", timer ); printf("Date is: %s\n", buffer); printf("Locale is: %s\n", setlocale(LC_ALL, "de_DE")); strftime(buffer,80,"%c", timer ); printf("Date is: %s\n", buffer); return(0); }
Załóżmy, skompilować i uruchomić powyższy program, który spowoduje w następujących przypadkach:
Locale is: en_GB Date is: Thu 23 Aug 2012 06:39:32 MST Locale is: de_DE Date is: Do 23 Aug 2012 06:39:32 MST