setlocale
, localeconv
---select or query locale#include <locale.h> char *setlocale(int category, const char *locale); lconv *localeconv(void); char *_setlocale_r(void *reent, int category, const char *locale); lconv *_localeconv_r(void *reent);Description
setlocale
is the facility defined by ANSI C to condition the
execution environment for international collating and formatting
information; localeconv
reports on the settings of the current
locale.
This is a minimal implementation, supporting only the required "C"
value for locale; strings representing other locales are not
honored. (""
is also accepted; it represents the default locale
for an implementation, here equivalent to "C"
.)
If you use NULL
as the locale argument, setlocale
returns
a pointer to the string representing the current locale (always
"C"
in this implementation). The acceptable values for
category are defined in `locale.h
' as macros beginning with
"LC_"
, but this implementation does not check the values you pass
in the category argument.
localeconv
returns a pointer to a structure (also defined in
`locale.h
') describing the locale-specific conventions currently
in effect.
_localeconv_r
and _setlocale_r
are reentrant versions of
localeconv
and setlocale
respectively. The extra argument
reent is a pointer to a reentrancy structure.
Returns
setlocale
returns either a pointer to a string naming the locale
currently in effect (always "C"
for this implementation), or, if
the locale request cannot be honored, NULL
.
localeconv
returns a pointer to a structure of type lconv
,
which describes the formatting and collating conventions in effect (in
this implementation, always those of the C locale).
Portability
ANSI C requires setlocale
, but the only locale required across all
implementations is the C locale.
No supporting OS subroutines are required.