在C++中存在两种类型的字符:
- char
- wchar_t
char为ANSI编码,一个char字符占用一个字节。
wchar_t为UNICODE编码,一个wchar_t占用两个字节,我们常称wchar_t为宽字符。
如何定义char与wchar_t的数组变量:
char str[] = "123";
wchar_t wstr[] = L"123";
注意:在字符串常量之前加L表示是宽字符。
Pro/TOOLKIT中提供了函数来进行char与wchar_t字符串的转换。
wchar_t* ProStringToWstring(wchar_t* wstr, char* str);
char* ProWstringToString(char* str, wchar_t* wstr);
在使用MFC编程时,我们常使用CString来表示字符串。
其实CString也存在两个版本:
CStringA:char字符串
CStringW:wchar_t字符串
你可以设置工程的字符串版本:
当你设置使用多字节字符集时,CString本质上就是CStringA
当你设置使用Unicode字符集时,CString本质上就是CStringW
CStringA cstra = "1234";
CStringW cstrw = L"1234";
你也可以使用标准C++ STL提供的字符串类string和wstring:
#include <string>
using std::string;
using std::wstring;
string str = "123";
wstring wstr = L"123";
原文链接:https://blog.csdn.net/hisinwang/java/article/details/79056074
网友评论