У меня есть русская строка, хранящаяся в исходном файле cpp с кодировкой cp1251.
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
const char *src = "Мой текст";
wchar_t dst[30];
switch (message)
{
case WM_CREATE:
mbstowcs(dst, src, 29);
//outputs "Ìîé òåêñò" instead of "Мой текст"
MessageBox(hWnd, dst, L"Header", MB_OK);
...
К сожалению, "Мой текст" искажен.Кажется, что mbstowcs
не следует использовать в этом случае, но что я должен использовать?
Пробовал std::setlocale(LC_ALL, "ru_RU.cp1251");
в WinMain, но это не помогло.