Как перевести ANSI строку в Unicode?
Нужно из строки LPSTR получить строку LPWSTR, используя возможности MFC/ATL и, желательно, не используя прямые вызовы функций семейства MultiByteToWideChar.
Источник: Stack Overflow на русском
Нужно из строки LPSTR получить строку LPWSTR, используя возможности MFC/ATL и, желательно, не используя прямые вызовы функций семейства MultiByteToWideChar.
В чистом C++ остается только MultiByteToWideChar из Windows API: он как раз и создан для подобных целей. А в MFC/ATL есть спец макросы (подозреваю, это обертки над MultiByteToWideChar).
void StringFunc(LPSTR lpsz)
{
USES_CONVERSION;
LPWSTR x = A2W(lpsz);
// Do something with x
wprintf_s(L"x is %s", x);
}
Взято оттуда: ATL and MFC String Conversion Macros.