如何连接 LPCWSTR 和 char[]

How to concat LPCWSTR and char[]?

本文关键字:char LPCWSTR 何连接 连接      更新时间:2023-10-16

我正在尝试连接一个LPCWSTR和一个char[](并获取LPCWSTR作为输出)。

我该怎么做?

您正在尝试将 UNICODE 字符串与 ANSI 字符串连接起来。除非您将 ANSI 字符串转换为 UNICODE,否则这将不起作用。您可以使用 MultiByteToWideChar,或者如果您使用的是 ATL 或 MFC,则可以使用 ATL 和 MFC 字符串转换宏。

您可以使用

以下代码将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