我正在尝试连接一个 LPCWSTR 和一个 char[] (并获得 LPCWSTR 作为输出)。
我怎样才能做到这一点?
您正在尝试将 UNICODE 字符串与 ANSI 字符串连接。除非您将 ANSI 字符串转换为 UNICODE,否则这将不起作用。您可以为此使用MultiByteToWideChar,或者如果您使用 ATL 或 MFC ,则可以使用ATL 和 MFC 字符串转换宏。
您可以使用以下代码(来自MSDN)将char[]
数组转换为宽字符数组
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
.