SETLOCALE(3)

SETLOCALE(3)

setlinebuf Home Page Subroutines Index setmntent


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 pro-
       gram'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().  NULL if the request cannot not be
              honored.  This string may be  allocated  in  static
              storage.

       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.   The  string  returned  is
       such that a subsequent call with that string and its asso-
       ciated category will restore that part  of  the  process's
       locale.

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  sup-
       port 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) locale- 
       conv(3) strftime(3) locale(7) 

setlinebuf Home Page Subroutines Index setmntent