#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
locale system("");
locale::global(system);
wcin.imbue(system);
wstring data;
getline(wcin,data);
wcout.imbue(system);
wcout << data << L" length=" << data.length() << endl;
locale utfFile("en_US.UTF-8");
wofstream file("my_utf_file.txt");
file.imbue(utfFile);
file << data;
file << endl;
file.close();
return 0;
}
1
A
Répondre
3
Il est votre système. Les noms régionaux ne font pas partie de la norme C++, donc "en_US.UTF-8"
n'est pas universellement valide. Il n'est même pas certain qu'il existe un environnement similaire.
2
Ne fonctionnera pas dans un système embarqué sans système de fichiers. Ou bien sans cette installation locale, bien sûr.