Funzione libreria C - setlocale ()

Descrizione

La funzione di libreria C. char *setlocale(int category, const char *locale) imposta o legge le informazioni dipendenti dalla posizione.

Dichiarazione

Di seguito è riportata la dichiarazione per la funzione setlocale ().

char *setlocale(int category, const char *locale)

Parametri

  • category - Questa è una costante con nome che specifica la categoria delle funzioni influenzate dall'impostazione locale.

    • LC_ALL per tutto quanto segue.

    • LC_COLLATEper il confronto delle stringhe. Vedere strcoll ().

    • LC_CTYPEper la classificazione e la conversione dei caratteri. Ad esempio - strtoupper ().

    • LC_MONETARY per la formattazione monetaria per localeconv ().

    • LC_NUMERIC per separatore decimale per localeconv ().

    • LC_TIME per la formattazione di data e ora con strftime ().

    • LC_MESSAGES per le risposte del sistema.

  • locale - Se la locale è NULL o la stringa vuota "", i nomi delle impostazioni locali verranno impostati dai valori delle variabili di ambiente con gli stessi nomi delle categorie precedenti.

Valore di ritorno

Una chiamata riuscita a setlocale () restituisce una stringa opaca che corrisponde al set locale. Il valore restituito è NULL se la richiesta non può essere soddisfatta.

Esempio

L'esempio seguente mostra l'utilizzo 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("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);
}

Compiliamo ed eseguiamo il programma sopra che produrrà il seguente risultato:

Locale is: en_GB                                                            
Date is: Fri 05 Dec 2014 10:35:02 UTC                                       
Locale is: de_DE                                                            
Date is: Fr 05 Dez 2014 10:35:02 UTC