Estoy tratando de usar nuevos caracteres Unicode en C++ 0x. Así que escribió el código de ejemplo:Soporte Unicode en C++ 0x
#include <fstream>
#include <string>
int main()
{
std::u32string str = U"Hello World";
std::basic_ofstream<char32_t> fout("output.txt");
fout<<str;
return 0;
}
Pero después de ejecutar este programa que estoy consiguiendo archivo salida.txt vacía. Entonces, ¿por qué no está imprimiendo Hello World?
También hay algo así como un cout
y cin
ya definida para estos tipos o stdin
y stdout
no soporta Unicode?
Editar: Estoy usando g ++ y Linux.
EDITAR: АТТЕNTION. Descubrí que ese comité estándar descartaba las transmisiones de Unicode de C++ 0x. Entonces la respuesta previamente aceptada ya no es correcta. Para obtener más información, consulte my answer!
¿El archivo está vacío porque tiene 0 bytes o está vacío porque su editor de texto no muestra ningún carácter imprimible? – Gabe
@Gabe it hase 0 bytes – UmmaGumma
¿Qué versión de gcc estás usando? – ssmir