C ++ setlocale () - Libreria standard C ++

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 di categoria per setlocale ()
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

Articoli interessanti...