如何连接LPCWSTR和char []?

时间:2011-05-20 12:52:59

标签: c++ string char concat

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

我该怎么做?

2 个答案:

答案 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