Latest web development tutorials

Funkcje biblioteczne C - setlocale ()

Biblioteka standardowa języka C - <locale.h> 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

Biblioteka standardowa języka C - <locale.h> Biblioteka standardowa języka C - <locale.h>