wchar_t与char转换
wchar_t与char转换 环境:Dev cpp 平台i386 C++标准中,wchar_t是宽字符类型,每个wchar_t类型占,2个字节,16位宽。汉字的表示就要用到wchar_t 。char,我们都知道,占一个字节,8位宽。其实知道了这个以后,要在wchar_t 和 char两种类型之间转换就不难实现了。 wchar_t 转换为char 的代码如下: 有如下的wchar_t和char变量 wchar_t w_cn = '中'; char c_cn[2] = {'0'} ; char *C2W(wchar_t w_cn , char c_cn[2]) { //following code convert wchar to char c_cn[0] = w_cn >> 8 ; c_cn[1] = w_cn ; c_cn[2] = '\0'; return c_cn ; } 其中需要注意的是一个16位的wchar_t
要借助于AnsiString与WideString互换;
char *s="中华人民共和国";
wchar *p=Widetring(s).BSTR();
====================================
wchar_t *p=L"中华人民共和国";
char *s=AnsiString(p).c_str();