Bonjour à tous,
C'est la première fois que je viens poster sur ce forum. Je débute en c++, même si j'ai longtemps 'bricoler' en C. Je bloque aujourd'hui sur un problème extrêmement bête que je ne comprend pas.
Voici mon code :
Il n'y a, pour la plupart des fichiers que je traite, aucun problème, par contre j'ai pu identifier, sur des fichiers registre (*.reg) un problème lors de la sortie de ma chaine.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include <iostream> #include <string> #include <fstream> using namespace std; int main() { string line; fstream text("monfichier.txt"); while (getline(text,line)) { cout << line << endl; } return 0; }
En effet, celle ci contient des espaces entre chaque caractère, c'est très pénible à traiter.
Quand j'affiche la variable çà écrit par exemple ce genre de chose :
[ H K E Y _ C U R R E N T _ C O N F I G \ \ S y s t e m \ C u r r e n t C o n t r o l S e t \ C o n t r o l \ V I D E O ]
alors que mon fichier d'origine contient bien :
[HKEY_CURRENT_CONFIG\\System\CurrentControlSet\Control\VIDEO]
Et du coup impossible de , par exemple, réinjecter les chaine obtenu dans un nouveau fichier.
J'ai testé avec des .reg fabriqué manuellement il n'y a aucun probléme.
Les fichiers qui présente des problèmes sont fabriqué à partir de la commande regedit /e.
Ce que je ne comprend absolument pas c'est pourquoi cette différence de résultat alors que les fichiers sont traités de la même manière?
J'ai clairement loupé un truc essentiel mais quoi?
Si quelqu'un veux bien m'éclairer?
Merci d'avance
Partager