C++ : Caractères spéciaux et fichiers .txt
Zariel
-
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je voudrais, si possible, que l'on m'aide sur un point. A vrai dire je suis en train de créer un programme et j'ai besoin à un moment de stocker ce qui se trouve dans string, dans un fichier. Le problème est que les accents ne sont pas stocker correctement dans le fichier .txt.
Voici le code que j'ai fait pour tester différentes solutions.
Bien entendu je ne post pas ici alors que je n'ai pas cherché. J'ai essayé pendant des heures de trouver une solution sur le net mais rien de satisfaisant. Donc si quelqu'un pourrait modifier le code que j'ai mis ci-dessus pour que ce qui apparaisse dans le fichier soit bien "Là tu fais le bébé ça ne va pas", et pas "L?+ tu fais le b?©b?© ?ßa ne va pas", je lui en serais fort reconnaissant. :)
Sinon si vous ne pouvez pas m'aider (même si vous pouvez d'ailleurs), merci à vous d'avoir lu mon post. :)
Je voudrais, si possible, que l'on m'aide sur un point. A vrai dire je suis en train de créer un programme et j'ai besoin à un moment de stocker ce qui se trouve dans string, dans un fichier. Le problème est que les accents ne sont pas stocker correctement dans le fichier .txt.
Voici le code que j'ai fait pour tester différentes solutions.
#include <stdlib.h> #include <stdio.h> #include <iostream> #include <string> #include <fstream> using namespace std; int main() { string monString = "Là tu fais le bébé ça ne va pas"; ofstream fichier("fichiertest.txt", ios::out | ios::trunc); fichier << monString; fichier.close(); }
Bien entendu je ne post pas ici alors que je n'ai pas cherché. J'ai essayé pendant des heures de trouver une solution sur le net mais rien de satisfaisant. Donc si quelqu'un pourrait modifier le code que j'ai mis ci-dessus pour que ce qui apparaisse dans le fichier soit bien "Là tu fais le bébé ça ne va pas", et pas "L?+ tu fais le b?©b?© ?ßa ne va pas", je lui en serais fort reconnaissant. :)
Sinon si vous ne pouvez pas m'aider (même si vous pouvez d'ailleurs), merci à vous d'avoir lu mon post. :)
3 réponses
As tu essayer de faire la lecture DANS TON PROGRAMME? Souvent les flux d'écriture et de lecture utilise un "code" de cryptage pour reconnaitre tous les caractères. Ainsi, la lecture dans le programme devrais être correcte. Sinon, il doit surement exister une option ou une autre méthode que celle que tu prend pour écrire normalement dans un fichier texte.
Salut.
Je pense que pour gérer correctement les caractères accentués, il vau mieux utiliser wstring que string https://en.cppreference.com/w/cpp/string .
string est fait pour l'ASCII.
Je pense que pour gérer correctement les caractères accentués, il vau mieux utiliser wstring que string https://en.cppreference.com/w/cpp/string .
string est fait pour l'ASCII.