Как соединить LPCWSTR и char []? - PullRequest
0 голосов
/ 20 мая 2011

Я пытаюсь объединить LPCWSTR и char [] (и получить LPCWSTR в качестве вывода).

Как я могу это сделать?

Ответы [ 2 ]

3 голосов
/ 20 мая 2011

Вы пытаетесь объединить строку UNICODE со строкой ANSI. Это не сработает, если вы не конвертируете строку ANSI в UNICODE. Для этого вы можете использовать MultiByteToWideChar или Макросы преобразования строк ATL и MFC , если вы используете ATL или MFC.

1 голос
/ 20 мая 2011

Вы можете преобразовать ваш массив 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.

...