Unix/Linux Go Back    

RedHat 9 (Linux i386) - man page for setlocale (redhat section 3)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

SETLOCALE(3)			    Linux Programmer's Manual			     SETLOCALE(3)

       setlocale - set the current locale.

       #include <locale.h>

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

       The setlocale() function is used to set or query the program's current locale.

       If  locale  is  not  NULL, the program's current locale is modified according to the argu-
       ments.  The argument category determines which  parts  of  the  program's  current  locale
       should be modified.

       LC_ALL for all of the locale.

	      for regular expression matching (it determines the meaning of range expressions and
	      equivalence classes) and string collation.

	      for regular expression matching, character classification, conversion,  case-sensi-
	      tive comparison, and wide character functions.

	      for localizable natural-language messages.

	      for monetary formatting.

	      for number formatting (such as the decimal point and the thousands separator).

	      for time and date formatting.

       The  argument locale is a pointer to a character string containing the required setting of
       category.  Such a string is either a well-known constant like "C" or "da_DK" (see  below),
       or an opaque string that was returned by another call of setlocale.

       If  locale  is "", each part of the locale that should be modified is set according to the
       environment variables.  The  details  are  implementation  dependent.   For  glibc,  first
       (regardless  of category), the environment variable LC_ALL is inspected, next the environ-
       ment variable with the same name  as  the  category  (LC_COLLATE,  LC_CTYPE,  LC_MESSAGES,
       LC_MONETARY,  LC_NUMERIC,  LC_TIME)  and finally the environment variable LANG.	The first
       existing environment variable is used.  If its value is not a valid locale  specification,
       the locale is unchanged, and setlocale returns NULL.

       The locale "C" or "POSIX" is a portable locale; its LC_CTYPE part corresponds to the 7-bit
       ASCII character set.

       A locale name is typically of the  form	language[_territory][.codeset][@modifier],  where
       language  is  an ISO 639 language code, territory is an ISO 3166 country code, and codeset
       is a character set or encoding identifier like ISO-8859-1 or UTF-8.  For  a  list  of  all
       supported locales, try "locale -a", cf. locale(1).

       If locale is NULL, the current locale is only queried, not modified.

       On startup of the main program, the portable "C" locale is selected as default.	A program
       may be made portable to all locales by calling setlocale(LC_ALL, "" ) after program   ini-
       tialization,  by using the values returned from a localeconv() call for locale - dependent
       information, by using the multi-byte and wide character functions for text  processing  if
       MB_CUR_MAX  >  1,  and  by  using  strcoll(), wcscoll() or strxfrm(), wcsxfrm() to compare

       A successful call to setlocale() returns an opaque 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.

       ANSI C, POSIX.1

       Linux  (that is, GNU 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.

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

GNU					    1999-07-04				     SETLOCALE(3)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 03:42 PM.