English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Corso di base del linguaggio C

Controllo di flusso del linguaggio C

Funzioni del linguaggio C

Array del linguaggio C

Puntatori del linguaggio C

Stringhe del linguaggio C

Struttura del linguaggio C

File del linguaggio C

Altro del linguaggio C

Manuale di riferimento del linguaggio C

Funzione della libreria C – utilizzo e esempio di setlocale()

Libreria standard - <locale.h>

Descrizione

Funzione della libreria C char *setlocale(int category, const char *locale) Imposta o legge informazioni regionalizzate.

Dichiarazione

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

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

Parametro

  • 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.

Valore di ritorno

Se setlocale() viene chiamato con successo, restituisce una stringa opaca che corrisponde alla configurazione regionale. Se la richiesta è invalida, il valore restituito è NULL.

Esempio online

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

Libreria standard - <locale.h>