在C++的Windows 应用程序中经常碰到这种情况。
解决方法:
加入如下转换函数:
LPCWSTR stringToLPCWSTR(std::string orig) { size_t origsize = orig.length() + 1; const size_t newsize = 100; size_t convertedChars = 0; wchar_t *wcstring = (wchar_t *) malloc(sizeof(wchar_t) *(orig.length() - 1)); mbstowcs_s(&convertedChars, wcstring, origsize, orig.c_str(), _TRUNCATE); return wcstring; }
就不会报错了,网上说的什么用L"ddd"去做的,这个我反正试过了,运行时会出问题。
时间: 2024-10-10 06:03:07