Использование компиляции unicode в vs2008 Как вы можете выводить многие языковые символы в файл на C++ с помощью wofstream?C++ проблема wofstream в программе unicode
Я могу сделать это в коде C без проблем, например.
FILE *out;
if((out = _wfopen(L"test.txt", L"wb")) != NULL)
{
fwprintf(out,L"test\r\n");
fwprintf(out,L"наказание\r\n");
fwprintf(out,L"ウェブ全体から検索\r\n");
}
при открытии файла все это правильно, но с программой ниже C++ все я получаю это первая линия, и я попытался локаль :: глобальные (региональные настройки («»)); с тем же результатом.
wofstream MyOutputStream(L"test.txt");
if(!MyOutputStream)
{
AfxMessageBox(L"Error opening file");
return;
}
MyOutputStream << L"test\r\n";
MyOutputStream << L"наказание\r\n";
MyOutputStream << L"ウェブ全体から検索\r\n";
MyOutputStream.close();
и я попытался вставить это с таким же результатом: -
std::locale mylocale("");
MyOutputStream.imbue(mylocale);
Как вы скажете, что результат неправильный. Попробуйте открыть текстовый файл с помощью Блокнота и сообщить блокноту, чтобы открыть его как Unicode – marom
Возможно, это проблема с промывкой? Попробуйте вызвать MyOutputStream.flush() или добавить std :: endl где-то – KABoissonneault
попробовал оба ... тот же. – user3725395