Locales contain information on how to interpret and perform certain input/output and transformation operations taking into consideration location and language specific settings.
Most running environments have certain locale information set according to the user preferences or localization. But, independently of this system locale, on start, all C programs have the "C" locale set, which is a rather neutral locale with minimal locale information that allows the result of programs to be predictable. In order to use the default locale set in the environment, this function can be called with "" as the locale parameter.
The locale set on start is the same as setlocale(LC_ALL,"C") would set.
The entire default locale can be set by calling setlocale(LC_ALL,"");
The parts of the current locale affected by a call to this function are specified by parameter category.
Parameters
- category
- Part of the locale affected. It is one of the following constant values defined as macros in <clocale>:
name Part affected LC_ALL The entire locale. LC_COLLATE Affects the behavior of strcoll and strxfrm. LC_CTYPE Affects character handling functions (all functions of <cctype>, except isdigit and isxdigit), and the multibyte and wide character functions LC_MONETARY Affects monetary formatting information returned by localeconv. LC_NUMERIC Affects the decimal-point character in formatted input/output operations and string formatting functions, as well as non-monetary information returned by localeconv. LC_TIME Affects the behavior of strftime. - locale
- C string containing the name of a C locale. These are system specific, but at least the two following locales must exist:
locale name description "C" Minimal "C" locale "" Environment's default locale
If the value of this parameter is NULL, the function does not make any change to the current locale, but the name of the current locale is returned by the function.
Return Value
On success, A pointer to a C string identifying the locale currently set for the category. If category is LC_ALL and different parts of the locale are set to different values, the string returned gives this information in a format which may vary between compiler implementations.If the function failed to set a new locale, this is not modified and a null pointer is returned.
Example
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
One of the possible outputs when the previous code is run is:
Locale is: C Date is: 01/15/07 13:33:47 Currecy symbol is: - Locale is: English_United States.1252 Date is: 1/15/07 1:33:47 PM Currency symbol is: $ - |
See also
| localeconv | Get locale formatting parameters for quantities (function) |
