WCHAR与CHAR的转换
来源:互联网 发布:2007詹姆斯数据 编辑:程序博客网 时间:2024/05/22 00:42
如果工程属性chart set项有两种字符编码方式:Multi-Byte 、Unicode。
不同的编码方式对字符的处理方式是不同的。
今天在编码的时候出现字符编码转换的问题,解决后记录为此博文。
用到一个函数,它的参数必须是char*类型,而我工程属性设置了Unicode(默认)。
如果强制类型转换:
CString s = “abc”;
char *ch;
ch = (cahr*)s.GetBuffer(s.GetLength); //or ch = (LPCSTR)(LPCTSTR)s;
这样得到的ch = “a0b0c0”;
s中的‘a’占两个字节,转换到ch中'a'占一个字节。
strlen(ch) == 1;
为解决以上问题,找到以下的方法:WideCharToMultiByte() / MultiByteToWideChar()
CString s = ”abc“;
char msg[1024];wchar_t* wmsg = s.GetBuffer(s.GetLength());
WideCharToMultiByte(CP_ACP,0,wmsg,s.GetLength(),msg,1024,NULL,NULL);
msg[s.GetLength()] = '\0';
- WCHAR与CHAR的转换
- WCHAR与CHAR的转换
- WCHAR与CHAR的转换
- wchar[] 与 char[] 转换
- (转载)WCHAR与CHAR的转换
- char 与 wchar之间的转换
- wchar与char字符转换的探究
- VC 中char 与 wchar的转换
- VC 中char 与 wchar的转换
- wchar与char互相转换
- wchar与char的转换,wchar与string类型转换,vs配置
- WCHAR和char的转换
- wchar和char的转换
- char * 和 wchar*的转换
- wxString类与char,wchar的相互转换(转)
- wxString类与char,wchar的相互转换(转)
- CHAR,TCHAR,WCHAR 三者的区别与转换
- MFC中char与wchar的相互转换方法
- 求最小生成树_克鲁斯卡尔算法(Kruskal)
- Unable to resolve host : No address associated with hostname
- [MFC]选择目录对话框和选择文件对话框
- poj1458求最长公共子序列的长度
- 配置apache
- WCHAR与CHAR的转换
- resin 4.0.8 升级到 resin 4.0.14
- 字符编码笔记:ASCII,Unicode和UTF-8
- PHP 数组操作 和 随机数
- struts2 result chain 和redirectAction区别
- 删除目录函数总结
- Windows驱动_MSDN网址
- 代理模式
- 什么是cmnet和cmwap