Flashnux

GNU/Linux man pages

Livre :
Expressions régulières,
Syntaxe et mise en oeuvre :

ISBN : 978-2-7460-9712-4
EAN : 9782746097124
(Editions ENI)

GNU/Linux

RedHat 5.2

(Apollo)

setlocale(3)


SETLOCALE

SETLOCALE

NAME
SYNOPSIS
DESCRIPTION
RETURN VALUE
CONFORMING TO
SEE ALSO

NAME

setlocale − set the current locale.

SYNOPSIS

#include <locale.h>

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

DESCRIPTION

The setlocale() function is used to set or query the program’s current locale. If locale is "C" or "POSIX", the current locale is set to the portable locale.

If locale is "", the locale is set to the default locale which is selected from the environment variable LANG.

On startup of the main program, the portable "C" locale is selected as default.

The argument category determines which functions are influenced by the new locale:

LC_ALL

for all of the locale.

LC_COLLATE

for the functions strcoll() and strxfrm().

LC_CTYPE

for the character classification and conversion routines.

LC_MONETARY

for localeconv().

LC_NUMERIC

for the decimal character.

LC_TIME

for strftime().

A program may be made portable to all locales by calling setlocale(LC_ALL, "" ) after program initialization, by using the values returned from a localeconv() call for locale − dependent information and by using strcoll() or strxfrm() to compare strings.

RETURN VALUE

A successful call to setlocale() returns a string that corresponds to the locale set. This string may be allocated in static storage. The string returned is such that a subsequent call with that string and its associated category will restore that part of the process’s locale. The return value is NULL if the request cannot be honored.

CONFORMING TO

ANSI C, POSIX.1

Linux (that is, libc) supports the portable locales "C" and "POSIX". In the good old days there used to be support for the European Latin-1 "ISO-8859-1" locale (e.g. in libc-4.5.21 and libc-4.6.27), and the Russian "KOI-8" (more precisely, "koi-8r") locale (e.g. in libc-4.6.27), so that having an environment variable LC_CTYPE=ISO-8859-1 sufficed to make isprint() return the right answer. These days non-English speaking Europeans have to work a bit harder, and must install actual locale files.

The printf() family of functions may or may not honor the current locale.

SEE ALSO

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



setlocale(3)