Select a program's locale
#include <locale.h> char * setlocale( int category, const char * locale );
- The part of the environment that you want to set; one of:
- LC_ALL — select the entire locale environment.
- LC_COLLATE — select only the collating sequence.
- LC_CTYPE — select only the character-handling information.
- LC_MESSAGES — specify the language to be used for messages.
- LC_MONETARY — select only monetary formatting information.
- LC_NUMERIC — select only the numeric-format environment.
- LC_TIME — select only the time-related environment.
- The locale that you want to use.
The following built-in locales are offered:
- C (default)
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The setlocale() function selects a program's locale, according to the specified category and the specified locale.
A locale affects several things:
- The collating sequence (the order in which characters compare with one another) used by strcoll() or wcscoll() .
- The way certain character-handling functions (such as isalnum() and isalpha() ) operate. The wide-character versions include iswalnum() and iswalpha() .
- The decimal-point character used in formatted input/output and string conversion ( printf() , scanf() , and friends).
- The format and names used in the string produced by the strftime() and wcsftime() functions.
See the localeconv() function for more information about the locale.
At the start of a program, the default C locale is initialized as if the following call to setlocale() appeared at the start of main() :
(void)setlocale( LC_ALL, "C" );
The string associated with the specified category for the new locale, or NULL if an error occurs. This function doesn't change the program's locale when error occurs.
For a NULL pointer of locale, this function returns a pointer to the string associated with the category for the program's current locale. This function doesn't change the program's locale.
Last modified: 2013-12-23