Index général des pages de man   Index Section man 3   Table des Matières de setlocale   Imprime la page de man setlocale en mode Texte   Recherche dans les pages de man   Page de man en français      Fonctions des bibliothèques (section 3)

setlocale

 
  

Nom

setlocale - Fixe la localisation courante.

Synopsis


#include <locale.h>
char *setlocale (int category, const char * locale);

Description

La fonction setlocale() est utilisée pour indiquer ou demander la localisation courante du programme. Si locale vaut C ou POSIX, la localisation en cours est fixée à une valeur portable.

Si locale vaut , la localisation est fixée à sa valeur par défaut qui est choisie avec la variable d'environnement LANG.

Au démarrage du programme, la localisation "C""" est sélectionnée par défaut.

L'argument category détermine quelles sont les fonctions influencées par la nouvelle localisation :

LC_ALL
toutes les fonctions utilisant les localisations.
LC_COLLATE
les fonctions strcoll() et strxfrm().
LC_CTYPE
les fonctions de classification de caractère, et les routines de conversions.
LC_MONETARY
la fonction localeconv().
LC_NUMERIC
le symbole décimal (point, virgule, ...)
LC_TIME
la fonction strftime().

Un programme peut être rendu portable en appelant setlocale(LC_ALL, """""") lors de son initialisation, en utilisant les valeurs renvoyées par localeconv() pour les valeurs dépendant de la localisation, et en utilisant strcoll() ou strxfrm() pour comparer les chaînes de caractères.

Valeur Renvoyée

Un appel reussi à setlocale() renvoie une chaine correspondant à la localisation. Cette chaîne peut être allouée dans une zone statique. La chaine est renvoyée de telle manière qu'un appel ultérieur avec cette chaîne et la catégorie associée restituera cette partie de la localisation du processus. La valeur renovyée est NULL si la demande ne peut pas être honorée.

Conformité

ANSI C, POSIX.1

Linux (c'est à dire la libc) supporte les localisations portables C et POSIX. Il y avait auparavant un support pour le Latin-1 européen ISO-8859-1 (par exemple dans la libc-4.5.21 et libc-4.6.27), ainsi que et le "KOI-8""" russe (plus précisement "koi-8r" dans la libc-4.6.27). Il suffisait alors d'initialiser la variable d'environnement LC_TYPE=ISO-8859-1 pour que isprint() fonctionne correctement. Désormais les européens non-anglicistes doivent peiner un peu plus pour installer les véritables fichiers de localisation.

Les fonctions de la famille printf() peuvent honorer ou non la localisation.

Voir Aussi

locale(1) , localedef(1) , strcoll(3) , isalpha(3) , localeconv(3) , strftime(3) , locale(7)

Traduction

Christophe Blaess, 1997.


Table des matières


Haut de page

© 1996-2000 Adaptation française "Christophe Blaess"