我正在尝试连接LPCWSTR和char [](并将LPCWSTR作为输出)。
我该怎么做?
答案 0 :(得分:3)
您正在尝试将UNICODE字符串与ANSI字符串连接起来。除非将ANSI字符串转换为UNICODE,否则这将不起作用。您可以使用MultiByteToWideChar,如果您使用的是ATL或MFC,则可以ATL and MFC String Conversion Macros。
答案 1 :(得分:1)
您可以使用以下代码将您的char[]
数组转换为宽字符数组(来自MSDN)
wchar_t * wcstring = new wchar_t[strlen(array) + 1];
// Convert char* string to a wchar_t* string.
size_t convertedChars = 0;
mbstowcs_s(&convertedChars, wcstring, strlen(array) + 1, array, _TRUNCATE);
之后,您可以使用wcscat_s
将转换后的字符数组连接到原始LPCWSTR
。