Unicode char* unsigned short* 的疑问
对这类问题以及VC6对它们的处理方法有一些疑问
LPWSTR = unsigned short *
LPSTR = char *
但是char*也是可以正确处理中文的
int main(int argc, char* argv[])
{
LPWSTR a = L"测试"; //内存中的值 4B 6D D5 8B
LPSTR b = "测试"; //内存中的值 B2 E2 CA D4
MessageBoxW(NULL,a,L"ok",0);
MessageBoxA(NULL,b,"ok",0);
printf("Hello World!\n");
return 0;
}
上面的两个“测试”,内存中的值是不一样的,但用对应的MessageBox是可以正常显示出来的
既然char*可以处理中文,unsigned short * 也可以,那我是用char* 还是 unsigned short *
这两个到底有什么不同啊?
请大家帮忙,谢谢!