Bonjour, je fais mes débuts en C++ et j'ai des difficultés à récupérer un texte accentué depuis un fichier.
Voici le code que je tente de faire fonctionner:
Ça fonctionne bien pour un texte normale, mais dès qu'il y a un accent, il est remplacé par un code dans buffer.void IO::lecture(vector <string> & dest)
{
string buffer;
ifstream file(fichier, ios::in); //fichier est défini ailleurs dans le code
do
{
getline(file, buffer);
dest.push_back(buffer);
}while(file);
file.close();
}
J'ai tenté de passer buffer en wstring mais le compilateur me rejette avec ce message sur mon getline:
D'ailleurs je sais pas si c'est bien ça qui réglerait le soucis.erreur: invalid conversion from ‘void*’ to ‘char**’
erreur: cannot convert ‘std::wstring’ to ‘size_t*’ for argument ‘2’ to ‘__ssize_t getline(char**, size_t*, FILE*)’
J'ai également tenté de forcer l'internationalisation par
locale loc("fr_FR");
Mais j'ai l'impression que mon code a déjà la bonne localisation, même sans ça, si j'en juge par d'autre partie du programme.
Qu'est-ce qui m'échappe?
Partager