setlocale的使用
来源:互联网 发布:库里2淘宝 编辑:程序博客网 时间:2024/05/05 06:42
setlocale
char * setlocale ( int category, const char * locale );
Set or retrieve locale
Sets locale information to be used by the current program, either changing the entire locale or parts of it. The function can also be used to retrieve the current locale's name by passingNULL as the value forlocale.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 thelocale 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 parametercategory.
Parameters
- category
- Part of the locale affected. It is one of the following constant values defined as macros in <clocale>:
name Part affected LC_ALLThe entire locale.LC_COLLATEAffects the behavior of strcoll andstrxfrm.LC_CTYPEAffects character handling functions (all functions of <cctype>, exceptisdigit andisxdigit), and the multibyte and wide character functionsLC_MONETARYAffects monetary formatting information returned by localeconv.LC_NUMERICAffects the decimal-point character in formatted input/output operations and string formatting functions, as well as non-monetary information returned bylocaleconv.LC_TIMEAffects 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 localeIf 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
/* 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) ); 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: CDate is: 01/15/07 13:33:47Currecy symbol is: -Locale is: English_United States.1252Date is: 1/15/07 1:33:47 PMCurrency symbol is: $-
另参考:http://www.cnblogs.com/hnrainll/archive/2011/05/07/2039700.html
- setlocale的使用
- setlocale()/_wsetlocale()函数的使用
- setlocale使用
- setlocale()函数使用
- setlocale()函数的作用
- setlocale
- setlocale
- setlocale
- setlocale
- setlocale
- setlocale
- Setlocale
- setlocale
- setlocale
- C 标准库的 setlocale()
- C标准库的setlocale()
- c++ setlocale函数的应用
- setlocale 与 mbstowcs 的问题
- 在加密和签名中使用数字证书(上)
- Spring事务配置的五种方式
- Oracle数据库链接
- android camera的preview buffer手动管理机制
- 使用Hibernate-tools中的hbm2java和hbm2ddl根据hbm文件自动生成pojo和数据库脚本
- setlocale的使用
- Ubuntu 中ntfs格式的分区变为只读及解决
- asp.net+JS客户端验证
- MinGW,MSYS,cygwin 区别
- 在加密和签名中使用数字证书(下)
- Socket TCP技术详解
- 派生类构造函数的调用顺序
- 如何实现横向聚合
- 关于 INSTEAD OF 触发器