Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ setlocale(3c) — NEWS-os 5.0.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ctime(3C)

ctype(3C)

getdate(3C)

gettxt(3G)

localeconv(3C)

mbtowc(3C)

printf(3S)

strcoll(3C)

strftime(3C)

strtod(3C)

strxfrm(3C)

wctomb(3C)

environ(5)



setlocale(3C)           LIBRARY FUNCTIONS           setlocale(3C)



NAME
     setlocale - modify and query a program's locale

SYNOPSIS
     #include <locale.h>

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

DESCRIPTION
     setlocale selects the appropriate  piece  of  the  program's
     locale  as  specified  by the category and locale arguments.
     The  category  argument  may  have  the  following   values:
     LCCTYPE,   LCNUMERIC,  LCTIME,  LCCOLLATE,  LCMONETARY,
     LCMESSAGES and LCALL.  These  names  are  defined  in  the
     locale.h  header file.  LCCTYPE affects the behavior of the
     character handling functions (isdigit,  tolower,  etc.)  and
     the  multibyte  character  functions  (such  as  mbtowc  and
     wctomb).  LCNUMERIC affects the decimal-point character for
     the  formatted input/output functions and the string conver-
     sion functions  as  well  as  the  non-mandatory  formatting
     information  returned by localeconv.  [See localeconv(3C).].
     LCTIME affects the behavior of  ascftime,  cftime,  getdate
     and  strftime.   LCCOLLATE  affects the behavior of strcoll
     and strxfrm.  LCMONETARY  affects  the  monetary  formatted
     information returned by localeconv.  LCMESSAGES affects the
     behavior of gettxt, catopen, catclose,  and  catgets.   [See
     catopen(3C)  and  catgets(3C).]   LCALL names the program's
     entire locale.

     Each category corresponds to a set of databases  which  con-
     tain  the relevant information for each defined locale.  The
     location of a database  is  given  by  the  following  path,
     /usr/lib/locale/locale/category,  where  locale and category
     are the names of locale  and  category,  respectively.   For
     example,  the  database  for  the  LCCTYPE category for the
     "german"      locale      would      be       found       in
     /usr/lib/locale/german/LCCTYPE.

     A value of "C" for locale specifies the default environment.

     A value of "" for locale specifies that the locale should be
     taken  from  environment  variables.  The order in which the
     environment variables are checked for the various categories
     is given below:
               Category       1st Env. Var.   2nd Env. Var
               ___________________________________________
               LCCTYPE:      LCCTYPE        LANG
               LCCOLLATE:    LCCOLLATE      LANG
               LCTIME:       LCTIME         LANG
               LCNUMERIC:    LCNUMERIC      LANG
               LCMONETARY:   LCMONETARY     LANG
               LCMESSAGES:   LCMESSAGES     LANG



                                                                1





setlocale(3C)           LIBRARY FUNCTIONS           setlocale(3C)



     At program startup, the equivalent of

          setlocale(LCALL, "C")

     is executed.  This  has  the  effect  of  initializing  each
     category to the locale described by the environment "C".

     If a pointer to a string  is  given  for  locale,  setlocale
     attempts to set the locale for the given category to locale.
     If setlocale succeeds, locale  is  returned.   If  setlocale
     fails,  a  null pointer is returned and the program's locale
     is not changed.

     For category LCALL, the behavior is slightly different.  If
     a  pointer  to  a  string  is given for locale and LCALL is
     given for category, setlocale attempts to set the locale for
     all  the  categories  to locale.  The locale may be a simple
     locale, consisting  of  a  single  locale,  or  a  composite
     locale.  A composite locale is a string beginning with a "/"
     followed by the locale of each category separated by a  "/".
     If  setlocale  fails  to  set the locale for any category, a
     null pointer is returnedand the  program's  locale  for  all
     categories is not changed.  Otherwise, locale is returned.

     A null pointer for locale causes  setlocale  to  return  the
     current  locale associated with the category.  The program's
     locale is not changed.

FILES
     /usr/lib/locale/C/LCCTYPE - LCCTYPE  database  for  the  C
     locale.
     /usr/lib/locale/C/LCNUMERIC - LCNUMERIC database for the C
     locale.
     /usr/lib/locale/C/LCTIME  -  LCTIME  database  for  the  C
     locale.
     /usr/lib/locale/C/LCCOLLATE - LCCOLLATE database for the C
     locale.
     /usr/lib/locale/C/LCMESSAGES - LCMESSAGES database for the
     C locale.
     /usr/lib/locale/locale/category  -  files   containing   the
     locale specific information for each locale and category.

SEE ALSO
     ctime(3C),     ctype(3C),      getdate(3C),      gettxt(3G),
     localeconv(3C),    mbtowc(3C),    printf(3S),   strcoll(3C),
     strftime(3C),    strtod(3C),    strxfrm(3C),     wctomb(3C),
     environ(5).








                                                                2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026