Setlocale
Configure the region information.
Syntax: char * setlocale (INT category, const char * locale );
Return Value: String
Function types: operating system and environment
Description
This function is used to configure the region information and set the localization information used by the current program. The category parameter has the following options:
* Lc_all includes all the following options.
* The lc_collate configuration string is compared. php has not yet implemented this item.
* Lc_ctype: Specifies the character category and conversion. For example, change all to uppercase strtoupper ().
* Lc_monetary: financial currency configuration. php has not yet been implemented.
* Lc_numeric: specifies the number of digits after the decimal point.
* Lc_time: specifies the time and date format, which is used with strftime.
If the locale parameter is an empty string "", locale of the system environment variable is used. If locale is zero (null), the local configuration is not changed. The current region value is returned. If the system has not yet implemented the configuration, false is returned.
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") wocould set.
The entire default locale can be set by calling setlocale (lc_all ,"");
The setting at the beginning of the C program is the same as setlocale (lc_all, "C ").
Use the default settings of the system to call setlocale (lc_all ,"");
The parts of the current locale affected by a call to this function are specified by parameter category.
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.
Example
/* Setlocale example */
# Include <stdio. h>
# Include <time. h>
# Include <locale. h>
Int main ()
{
Time_t rawtime;
Struct TM * timeinfo;
Char buffer [80];
Struct lconv * LC;
Time (& rawtime );
Timeinfo = localtime (& rawtime );
Int twice = 0;
Do {
Printf ("locale is: % s/n", setlocale (lc_all, null); // use the null parameter to obtain the current configuration
Strftime (buffer, 80, "% C", timeinfo );
Printf ("date is: % s/n", buffer );
Lc = localeconv ();
Printf ("currency symbol is: % s/n-/N", LC-> currency_symbol );
Setlocale (lc_all ,"");
} While (! Twice ++ );
Return 0;
}
One of the possible outputs when the previous code is run is:
Locale is: c
Date is: 01/15/13:33:47
Currecy symbol is:
-
Locale is: english_united states.1252
Date is: 1/15/07 1:33:47
Currency symbol is: $