Я пытаюсь использовать новые символы Юникода в 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. Таким образом, ранее принятый ответ больше не является правильным. Для получения дополнительной информации см. мой ответ !