Поддержка Unicode в C ++ 0x

Я пытаюсь использовать новые символы Юникода в C ++ 0x. Итак, я написал пример кода:

#include 
#include 
int main()
{
    std::u32string str = U"Hello World";

    std::basic_ofstream fout("output.txt");

    fout<

Но после выполнения этой программы я получаю пустой файл output.txt. Так почему же он не печатает Hello World?

Также есть что-то вроде cout и cin , уже определенных для этих типов, или stdin и stdout не поддерживает Unicode?

Изменить: я использую g ++ и Linux.

РЕДАКТИРОВАТЬ: АТТЕНЦИЯ. Я обнаружил, что стандартный комитет отклонил потоки Unicode из C ++ 0x. Таким образом, ранее принятый ответ больше не является правильным. Для получения дополнительной информации см. мой ответ !

16
задан Community 23 May 2017 в 12:18
поделиться