La funzione setlocale () in C ++ imposta le informazioni sulla locale per il programma corrente.
La funzione setlocale () è definita nel file di intestazione.
prototipo setlocale ()
int setlocale (int categoria, const char * locale);
La funzione setlocale viene utilizzata per impostare una locale di sistema specificata per la categoria data. La funzione setlocale può essere utilizzata anche per interrogare la locale C corrente.
Questo può essere fatto passando un puntatore nullo al posto di locale.
parametri setlocale ()
- categoria: specifica quali informazioni sulle impostazioni locali del programma sono interessate. Le possibili macro per categoria sono:
Macro | Descrizione |
---|---|
LC_ALL | Seleziona tutte le impostazioni internazionali C. |
LC_COLLATE | Seleziona la categoria di confronto |
LC_CTYPE | Seleziona la categoria di classificazione dei caratteri |
LC_MONETARY | Seleziona la categoria di formattazione monetaria |
LC_NUMERIC | Seleziona la categoria di formattazione numerica |
LC_TIME | Seleziona la categoria di formattazione dell'ora |
- locale: un identificatore locale specifico del sistema. Se è un puntatore nullo, una chiamata a setlocale () interroga la locale C corrente.
setlocale () Restituisce il valore
- In caso di successo, la funzione setlocale () restituisce un puntatore alla stringa che identifica la locale C dopo aver applicato le modifiche.
- In caso di fallimento restituisce un puntatore nullo.
Esempio: come funziona la funzione setlocale ()?
#include #include using namespace std; int main() ( char *str; setlocale(LC_ALL, "en_US.utf8"); str = setlocale(LC_ALL, NULL); cout << "Current locale: " << str << endl; cout << "Changing locale " << endl; setlocale(LC_ALL, "en_GB.utf8"); str = setlocale(LC_ALL, NULL); wcout << "Current locale: " << str << endl; return 0; )
Quando esegui il programma, l'output sarà:
Impostazioni internazionali correnti: en_US.utf8 Modifica delle impostazioni internazionali Impostazioni internazionali correnti: en_GB.utf8