目 录
1.简介
wchar_t是C/C++的
字符
数据类型,是一种扩展的字符存储方式,wchar_t类型主要用在国际化程序的实现中,但它不等同于unicode编码。unicode编码的
字符一般以
wchar_t类型存储。char是8位
字符类型,最多只能包含256种字符,许多外文
字符集所含的字符数目超过256个,char型无法表示。
2.例如
#include <iostream> #include <cstdlib> #include <locale> using namespace std; locale loc("chs"); //依环境而定,可能不同。 int main() { wchar_t wStr[] = L"中文"; wcout.imbue(loc); wcout << wStr << endl; return 0; }
3.将char转换成wchar_t
方法1:
可以用TEXT()方法将char转换成wchar_t,例如: wchar_t appName[5]=TEXT("test");
方法2:
wchar_t* c2w(const char *str) { int length = strlen(str)+1; wchar_t *t = (wchar_t*)malloc(sizeof(wchar_t)*length); memset(t,0,length*sizeof(wchar_t)); MultiByteToWideChar(CP_ACP,0,str,strlen(str),t,length); return t; }