wcstombs在中文环境下的一个设置
2012-06-26 09:58
176 查看
CString strTemp; GetDlgItemText(IDC_EDIT1, strTemp); LPCTSTR lp; TCHAR tcTemp[20]; lp = strTemp.GetBuffer(strTemp.GetLength()); wcscpy(tcTemp, lp); char param[50] = {}; wcstombs(param, tcTemp, 20);
挺简单的一段代码。有经验的码农很快就会看出来,这段代码的作用是用来把CString转为char数组内存储。
但是试一下strTemp = L"你好"看看?param里面会存储什么?
答案是空。
这是宽字节串到多字节串转换的基本要求,即必须指定字符集。
为此加入调用setlocale函数设置本地化环境的语句。
setlocale(LC_ALL, "");
相关文章推荐
- ubuntu 14.04英文环境设置成中文
- 【Linux】设定一个能输入中文的英文环境!
- 强迫症的 Mac 设置指南,如何配置一个高效的 Mac 工作环境
- 【原创】Cognos Configuration中文界面启动方法及cognos中文环境设置方法
- linux安装jdk,设置环境变量遇到的一个奇葩问题
- 开发端到端的 Ajax 应用程序,第 1 部分: 用一个场景设置 Ajax 环境
- ubuntu中文环境设置
- MyEclipse设置中文编码环境
- linux中文环境设置
- Ubuntu设置中文环境
- 关于Qt移植后环境变量的设置 qt移植到arm中文显示问题解决 实现pc与tiny210 arm开发板 udp通信
- 开发端到端的 Ajax 应用程序,第 1 部分: 用一个场景设置 Ajax 环境
- Gentoo本地化设置--时区、时钟、字体、中文环境
- ubuntu8.10中文开发环境设置
- 中文环境下,GVIM的菜单和提示设置为英文
- debian9中文办公环境字体设置
- 开始学习Python,设置环境和编译一个简单的程序
- [ubuntu12.04] 系统环境设置(英文/中文)
- 2.树莓派如何设置中文环境
- 解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)——ubuntu环境设置默认是utf-8,文件编码可使用Encodersoft批量转换