История изменений
Исправление fsb4000, (текущая версия) :
Изи. Правда от ifdef не деться…
#include <iostream>
#include <string>
#include <cstdlib>
#include <cstdio>
#include <cwchar>
#include <cassert>
#include <fstream>
#include <codecvt>
#ifdef _WIN32
#include <io.h>
#include <fcntl.h>
#endif
int main()
{
#ifdef _WIN32
int result = _setmode(_fileno(stdout), _O_U16TEXT);
assert(result != -1);
#endif
std::fstream file("test.txt");
std::string s;
std::getline(file, s);
std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>, wchar_t> conversion;
std::wstring w = conversion.from_bytes(s);
std::wcout << w << std::endl;
}
Исходная версия fsb4000, :
Изи. Правда от ifdef не деться…
#include <iostream>
#include <string>
#include <cstdlib>
#include <cstdio>
#include <cwchar>
#include <cassert>
#include <fstream>
#include <codecvt>
#ifdef _WIN32
#include <io.h>
#include <fcntl.h>
#endif
int main()
{
#ifdef _WIN32
int result = _setmode(_fileno(stdout), _O_U16TEXT);
assert(result != -1);
#endif
std::fstream file("test.txt");
std::string s;
std::getline(file, s);
std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>, wchar_t> conversion;
std::wstring w = conversion.from_bytes(s);
std::wcout << w << std::endl;
}