Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ setlocale(3C) — Dell System V Release 4 Issue 2.2

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)   UNIX System V(C Programming Language Utilities)   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
      conversion functions as well as the non-monetary 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 contain 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

      At program startup, the equivalent of

            setlocale(LCALL, "C")





10/89                                                                    Page 1







setlocale(3C)   UNIX System V(C Programming Language Utilities)   setlocale(3C)


      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).




















Page 2                                                                    10/89





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