Contents|Index|Previous|Next

setlocale, localeconv
[select or query locale]

SYNOPSIS 
#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; since strings representing other locales are not honored, unless MB CAPABLE is defined, in which case three new extensions are allowed for LC CTYPE only: “C-JIS”, “C-EUCJP”, and “C-SJIS”. (“  ”  is also accepted, representing a default locale for an implementation, 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” although 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, respectively, localeconv and setlocale. 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).

COMPLIANCE
ANSI C requires setlocale, but the only locale required across all implementations is the C locale.

No supporting OS subroutines are required.