sous-routine setlocale

Objectif

Modifie ou interroge la totalité de l'environnement local en cours du programme ou des parties de celui-ci.

Bibliothèque

Bibliothèque C standard (libc.a)

Syntaxe

#include <locale.h>
char *setlocale ( Category Locale)
int Category;
const char *Locale;

Descriptif

La sous-routine setlocale sélectionne tout ou partie des paramètres régionaux du programme spécifiés par les paramètres Category et Locale . La sous-routine setlocale modifie ensuite ou interroge la partie spécifiée de l'environnement local. La valeur LC_ALL du paramètre Catégorie désigne l'ensemble de l'environnement local (toutes les catégories). Les autres valeurs de Catégorie ne nomment qu'une partie de l'environnement local du programme.

Le paramètre Locale spécifie une chaîne qui fournit les informations nécessaires pour définir certaines conventions dans le paramètre Category . Les composants du paramètre Paramètres régionaux sont la langue et le territoire. Les valeurs autorisées pour l'argument d'environnement local sont les combinaisons langue_territoire prédéfinies ou un environnement local défini par l'utilisateur.

Si un utilisateur définit un nouvel environnement local, un fichier source de définition d'environnement local portant un nom unique doit être fourni. Le classement des caractères, la classification des caractères, les informations monétaires, numériques, d'heure et de message doivent être fournis dans ce fichier. Le fichier source de définition de l'environnement local est converti en fichier binaire par la commande localedef . Le fichier de définition de l'environnement local binaire est accessible dans le répertoire indiqué par la variable d'environnement LOCPATH .

Remarque: Tous les programmes setuid et setgid ignorent la variable d'environnement LOCPATH .

L'environnement local par défaut au démarrage du programme est l'environnement local C. Un appel à la sous-routine setlocale doit être effectué explicitement pour modifier cet environnement local par défaut.

L'état de l'environnement local est commun à toutes les unités d'exécution d'un processus.

Paramètres

Article Descriptif
Category (Catégorie) Indique une valeur représentant tout ou partie de l'environnement local d'un programme. Selon la valeur du paramètre Environnement local , ces catégories peuvent être initiées par les valeurs des variables d'environnement avec les noms correspondants. Les valeurs valides du paramètre Category , tel que défini dans le fichier locale.h , sont les suivantes:
LC_ALL
Affecte le comportement de l'ensemble de l'environnement local d'un programme.
LC_COLLATE
Affecte le comportement des sous-routines d'expression régulière et de classement.
LC_CTYPE
Affecte le comportement des sous-routines d'expression régulière, de classification de caractères, de conversion de casse et de caractères larges.
LC_MESSAGES
Affecte le contenu des messages et les réponses positives et négatives.
LC_MONÉTAIRE
Affecte le comportement des sous-routines qui formatent les valeurs monétaires.
LC_NUMERIC
Affecte le comportement des sous-routines qui formatent les valeurs numériques non monétaires.
HEURE-LC_TIME
Affecte le comportement des sous-routines de conversion de temps.
Environnement local Pointe vers une chaîne de caractères contenant le paramètre requis pour le paramètre Catégorie .

Les valeurs spéciales du paramètre Locale sont les suivantes:

"C"
L'environnement local C est l'environnement local que tous les programmes héritent au démarrage du programme.
"POSIX"
Indique le même environnement local qu'une valeur de "C".
""
Indique que les catégories doivent être définies en fonction des variables d'environnement de l'environnement local.
NEANT
Interroge l'environnement local en cours et renvoie le nom de l'environnement local.

Pour plus d'informations sur les valeurs d'environnement local prises en charge pour le paramètre Environnement local , voir Supported languages and locales dans le document Globalization Guide and Reference.

Valeurs renvoyées

Si un pointeur vers une chaîne est indiqué pour le paramètre Locale et que la sélection peut être prise en compte, la sous-routine setlocale renvoie la chaîne associée au paramètre Category spécifié pour le nouvel environnement local. Si la sélection ne peut pas être prise en compte, un pointeur null est renvoyé et l'environnement local du programme est inchangé.

Si une valeur null est utilisée pour le paramètre Locale , la sous-routine setlocale renvoie la chaîne associée au paramètre Category pour l'environnement local en cours du programme. L'environnement local du programme n'est pas modifié.

Un appel ultérieur avec la chaîne renvoyée par la sous-routine setlocale et sa catégorie associée restaurera cette partie de l'environnement local du programme. La chaîne renvoyée n'est pas modifiée par le programme, mais peut être remplacée par un appel ultérieur à la sous-routine setlocale .