win32中LPWSTR类型的字符串处理起来很让人头疼,今天总算有了一个比较明确的认识
看下面的代码:
//LPWSTR类型:UNICODE字符串变量,LPWSTR是wchar_t字符串,所以需要按照wchar_t来使用
//这是错误的用法:
//LPWSTR lpWStr = { 0 };// // = TEXT("你好,世界,这是错误的用法!!!!");
//LPWSTR lpWStr = TEXT("你好,世界,这是错误的用法!!!!");
//LPWSTR lpWStr = L"你好,世界,这是错误的用法!!!!";
//wsprintfW(lpWStr, L"你好,世界,这是错误的用法!!!!");//此处语法上无错,运行到此死机
//正确的姿势有三种用法:
//正确的是这样的:
//第一种:
//wchar_t lpWStr[32] = L"你好,世界,这是正确的用法!!!!";
//第二种:
wchar_t lpWStr[32] = {0};
wsprintfW(lpWStr, L"你好,世界,这是正确的用法!!!!");
//第三种:
//wchar_t lpWStr[32];
//wsprintfW(lpWStr, L"你好,世界,这是正确的用法!!!!");
MessageBox(hWnd, lpWStr, L"测试", MB_OK);