2010-12-01 51 views
1
#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; 
} 

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.