LINUX.ORG.RU

История изменений

Исправление 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;
}

https://imgur.com/a/OZ1iwPX

Исходная версия 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;
}