Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ setlocale(3c) — Atari System V ue12

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




   7/91                                                                 Page 1









   setlocale(3C)       (C Programming Language Utilities)        setlocale(3C)


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















   Page 2                                                                 7/91





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