如题!
Project->Properties->General->Character set->Use Unicode Character Set
class CString is supported already. if u want use unicode with CString, u may define _UNICODE in stdafx.h
在 stdafx.h 里加入 #define _UNICODE 后这段代码是正确的:
WCHAR a=0x949f;
CString b=L"HELLO";
b.SetAt(3,a);
MessageBox(0,b,b,MB_OK);
运行后对话框里看到 “HEL钟O”
注意:
必须是 a=0x949f; 而不能 a=钟;
因为
WCHAR a=钟;
等价于
WCHAR a=0xD6D3;
钟的国标码是 D6 D3;
钟的unicode码是 9f 94; (因Intel CPU是逆序的所以要写成 a=0x949f;)
VC6 DEV 中的汉字被处理成国标码。
unicode码的 D3 D6 是另一个字。
所以程序不能像你那样写。