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

C Language Basic Tutorial

Contrôle de flux C

C Language Functions

C Language Arrays

C Language Pointers

C Language Strings

Structure C

Fichier C

Autres C

Manuel de référence C

Fonction de bibliothèque C – Utilisation et exemple de setlocale()

C Standard Library - <locale.h>

Description

Fonction de bibliothèque C char *setlocale(int \tcategory, \tconst \tchar *locale) Définir ou lire les informations régionalisées.

Déclaration

Voici la déclaration de la fonction setlocale().

char *setlocale(int \tcategory, \tconst \tchar *locale)

paramètres

  • category -- C'est une constante nommée, qui spécifie les catégories de fonctions affectées par la configuration régionale.

    • LC_ALL Inclut toutes les options ci-dessous.

    • LC_COLLATE Comparaison de chaînes. Voir strcoll().

    • LC_CTYPE Classification et conversion de caractères. Par exemple strtoupper().

    • LC_MONETARY Format monétaire, pour localeconv().

    • LC_NUMERIC Séparateur décimal, pour localeconv().

    • LC_TIME Format de date et d'heure, pour strftime().

    • LC_MESSAGES Réponse du système.

  • locale -- Si locale est NULL ou une chaîne vide "", le nom de la région est défini en fonction de la valeur de l'environnement variable, avec le nom des catégories mentionnées ci-dessus.

Valeur de retour

Si setlocale() est appelé avec succès, il renvoie une chaîne opaque correspondant à la configuration régionale. Si la demande est invalide, la valeur renvoyée est NULL.

Exemple en ligne

Le présent exemple montre l'utilisation de la fonction setlocale().

#include \t<locale.h>
#include \t<stdio.h>
#include \t<time.h>
 
int \tmain \t()
{
   time_t \tcurrtime;
   struct \ttm *timer;
   char \tbuffer[80];
 
   time(\t&currtime \t);
   timer = localtime(\t&currtime \t);
 
   printf("L'environnement de langage est: \t%s\n", \tsetlocale(LC_ALL, \"en_GB.UTF\-8);
   strftime(buffer,80,"%c", \t&timer \t);
   printf("La date est: \t%s\n", \tbuffer);
 
  
   printf("L'environnement de langage est: \t%s\n", \tsetlocale(LC_ALL, \"de_DE.UTF\-8);
   strftime(buffer,80,"%c", \t&timer \t);
   printf("La date est: \t%s\n", \tbuffer);
 
   return(0);
}

Let's compile and run the above program, which will produce the following results:

Language environment is: en_GB
The date is: Thu 13 Aug 2011 06:39:32 MST
Locale is: de_DE
The date is: Do 13 Aug 2011 06:39:32 MST

C Standard Library - <locale.h>