English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Libreria standard - <locale.h>
Funzione della libreria C char *setlocale(int category, const char *locale) Imposta o legge informazioni regionalizzate.
Di seguito è riportata la dichiarazione della funzione setlocale().
char *setlocale(int category, const char *locale)
category -- È una costante denominata, che specifica le categorie di funzioni influenzate dalla configurazione regionale.
LC_ALL Includono tutte le opzioni elencate di seguito.
LC_COLLATE Confronto di stringhe. Vedi strcoll().
LC_CTYPE Classificazione e conversione di caratteri. Ad esempio strtoupper().
LC_MONETARY Formato monetario, per localeconv().
LC_NUMERIC Separatore decimale, per localeconv().
LC_TIME Formato data e ora, per strftime().
LC_MESSAGES Risposta del sistema.
locale -- Se la locale è NULL o una stringa vuota "", il nome della regione viene impostato in base al valore dell'variable d'ambiente, il nome è lo stesso dei nomi delle categorie sopra elencate.
Se setlocale() viene chiamato con successo, restituisce una stringa opaca che corrisponde alla configurazione regionale. Se la richiesta è invalida, il valore restituito è NULL.
Il seguente esempio dimostra l'uso della funzione setlocale().
#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("L'ambiente linguistico è: %s\n", setlocale(LC_ALL, "en_GB.UTF-8")); strftime(buffer,80,"%c", timer ); printf("La data è: %s\n", buffer); printf("L'ambiente linguistico è: %s\n", setlocale(LC_ALL, "de_DE.UTF-8")); strftime(buffer,80,"%c", timer ); printf("La data è: %s\n", buffer); return(0); }
Lasciamo che compiliamo ed eseguiamo il programma sopra, il quale produrrà i seguenti risultati:
L'ambiente linguistico è: en_GB La data è: Gio 13 Ago 2011 06:39:32 MST Locale è: de_DE La data è: Do 13 Ago 2011 06:39:32 MST