Win32 API之Setlocale函数配置地域化信息函数
来源:互联网 发布:什么抢购软件好 编辑:程序博客网 时间:2024/05/22 11:57
setlocale:
函数原形为:char *setlocale( int category, const char *locale );
头文件:<locale.h>
所支持的操作系统为:ANSI, Win 95, Win NT
对于简体中文可以使用如下设置:setlocale( LC_ALL, "chs" );
为什么一定要调用setlocale呢?
因为在C/C++语言标准中定义了其运行时的字符集环境为"C",也就是ASCII字符集的一个子集,那么mbstowcs在工作时会将cstr中所包含的字符串看作是ASCII编码的字符,而不认为是一个包含有chs编码的字符串,所以他会将每一个中文拆成2个ASCII编码进行转换,这样得到的结果就是会形成4个wchar_t的字符组成的串,那么如何才能够让mbstowcs正常工作呢?在调用mbstowcs进行转换之间必须明确的告诉mbstowcs目前cstr串中包含的是chs编码的字符串,通过setlocale( LC_ALL, "chs" )函数调用来完成,需要注意的是这个函数会改变整个应用程序的字符集编码方式,必须要通过重新调用setlocale( LC_ALL, "C" )函数来还原,这样就可以保证mbstowcs在转换时将cstr中的串看作是中文串,并且转换成为2个wchar_t字符,而不是4个。
本地化设置需要具备三个条件:
a.语言代码(Language Code)
b.国家代码(Country Code)
c.编码(Encoding)
本地名字可以用下面这些部分来构造:
语言代码_国家代码.编码 比如(zh_CN.UTF-8, en_US等)
locale的别名表见/usr/lib/X11/locale/locale.alias(以Debian GNU/Linux为例)
setlocale语言字符串参考
函数原形为:char *setlocale( int category, const char *locale );
头文件:<locale.h>
所支持的操作系统为:ANSI, Win 95, Win NT
对于简体中文可以使用如下设置:setlocale( LC_ALL, "chs" );
为什么一定要调用setlocale呢?
因为在C/C++语言标准中定义了其运行时的字符集环境为"C",也就是ASCII字符集的一个子集,那么mbstowcs在工作时会将cstr中所包含的字符串看作是ASCII编码的字符,而不认为是一个包含有chs编码的字符串,所以他会将每一个中文拆成2个ASCII编码进行转换,这样得到的结果就是会形成4个wchar_t的字符组成的串,那么如何才能够让mbstowcs正常工作呢?在调用mbstowcs进行转换之间必须明确的告诉mbstowcs目前cstr串中包含的是chs编码的字符串,通过setlocale( LC_ALL, "chs" )函数调用来完成,需要注意的是这个函数会改变整个应用程序的字符集编码方式,必须要通过重新调用setlocale( LC_ALL, "C" )函数来还原,这样就可以保证mbstowcs在转换时将cstr中的串看作是中文串,并且转换成为2个wchar_t字符,而不是4个。
本地化设置需要具备三个条件:
a.语言代码(Language Code)
b.国家代码(Country Code)
c.编码(Encoding)
本地名字可以用下面这些部分来构造:
语言代码_国家代码.编码 比如(zh_CN.UTF-8, en_US等)
locale的别名表见/usr/lib/X11/locale/locale.alias(以Debian GNU/Linux为例)
setlocale语言字符串参考
参考 http://blog.csdn.net/whatday/article/details/9734781
阅读全文
0 0
- Win32 API之Setlocale函数配置地域化信息函数
- Win32 API之Setlocale函数配置地域化信息函数
- Win32 API之Setlocale函数配置地域化信息函数
- Win32 API之Setlocale函数配置地域化信息函数
- strftime()函数根据区域设置格式化本地时间/日期 setlocale() 函数设置地区信息(地域信息)
- setlocale()函数
- setlocale()函数
- setlocale函数
- setlocale函数
- Win32 API 常用函数之二
- Win32 API 函数
- Win32 API函数大全
- WIN32 API函数简介
- WIN32 API 函数说明
- Win32 API函数
- Win32 API 函数列表
- win32 API函数大全
- Win32 API函数大全
- bash基本功能之别名(alias)
- 如何利用缺陷的管理提高软件开发质量五——缺陷预测
- java 掩码2
- UI框架
- 架构以及我理解中架构的本质
- Win32 API之Setlocale函数配置地域化信息函数
- 部署zookeeper
- C++ map键值对容器demo
- C++语言基本教程 第16课: C++概谈和与C的差异
- LinkedList
- 解决python虚拟环境用pip装包报Permission denied
- MyEclipse 2016 反编译插件安装
- JVM内存结构--新生代及新生代里的两个Survivor区(下一轮S0与S1交换角色,如此循环往复)、常见调优参数
- MAPKit使用