Может std :: wofstream & lt; & lt; WCHAR и & lt; & lt; ЧАР в то же время?

Как мы можем одновременно написать WCHAR и CHAR в wofstream?

wofstream << L"汉字" << "汉字"

Вот кое-что для тестирования. Я могу только «Вофстрим»<

#include <iostream>
#include <fstream>
#include <locale>

int main() {
std::wofstream wof2;
wof2.open(L"2.txt", std::wofstream::app);
wof2 << "\nCHAR 汉";
wof2.flush();
wof2 << L"\nWCHAR 汉";
wof2.close();

const char * tmp = setlocale(LC_ALL, "");
std::cout << tmp << std::endl;
std::locale::global(std::locale(""));
wof2.open(L"2.txt", std::wofstream::app);
wof2.imbue(std::locale());

wof2 << L"\nWCHAR after imbue";
wof2.flush();
wof2 << L"\nWCHAR 汉";
wof2.flush();
wof2 << "\nCHAR汉";
wof2.flush();

return 0;
}

Мы можем видеть это на консоли

Chinese (Simplified)_China.936

Но в 2.txt я вижу, что

CHAR 汉
WCHAR
WCHAR after imbue
WCHAR 汉
CHAR

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector