Нет выхода с широкими потоками
У меня проблема с широким потоком вывода. Моя главная задача - wofstream, но wcout тоже не работает должным образом. Таким образом, он не производит вывод кроме латинских символов. То есть
#include <string>
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
wstring wstr = L"Андрей";
wofstream fout(L"C:\\Work\\report.htm");
wcout << wstr << L"Привет мир";
fout << wstr << L"Привет мир";
fout.close();
}
Не выводит, файл остается длиной 0 байт.
Смешивание как wcout<<L"zuhщзг"
печатает просто "зух", остальные игнорирует.
Я использую MVS 2013 с Intel C++ Composer 14.0
РЕДАКТИРОВАТЬ: Windows Unicode C++ Stream Output Failure описывает подобную проблему. Но я не совсем понимаю, как работает решение. MVS/Windows используют UTF-16 для широких строк. и я хотел бы, чтобы они были записаны в файл, как есть, то есть UTF-16, без каких-либо ненужных преобразований