OVH Cloud OVH Cloud

fstream & n

1 réponse
Avatar
Geoffroy Baud
bonjour,
savez-vous si c'est normal qu'un
std::fstream foo;
foo.open("bar", std::ofstream::out|std::ofstream::binary );
foo.write(pouet.c_str(), pouet.size());
foo.close();

affiche un \n a la fin ?
car je vous explique mon probleme
je dois afficher pour des question de debug un objet ( ce qu il contient)
en hexa ...

0000000: 0001 0101 0000 0001 0000 0014 0000 0004 ................
0000010: 0000 0000 0000 0000 0000 0000 0000 0000 ................

et cela marche nikel sauf que il m ecrit ca

0000010: 0001 0101 0000 0001 0000 0014 0000 0004 ................
0000020: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000030: 0a .

attendus que 0x0a == \n

je me suis dis que peux etre c etais la "faute" a write ?

faut aussi dire que cela fais 3 heurs que je cherche partout dans mon
code si j ai fais une erreur ( plustot cette erreur :) )
et je ne trouve rien ...

si vous aviez par la meme, un lien, une doc
traitant du sujet ...

merci

1 réponse

Avatar
Alain Migeon
In article <3fc352d7$0$2795$,
says...
bonjour,
savez-vous si c'est normal qu'un
std::fstream foo;
foo.open("bar", std::ofstream::out|std::ofstream::binary );
foo.write(pouet.c_str(), pouet.size());
foo.close();

affiche un n a la fin ?
car je vous explique mon probleme
je dois afficher pour des question de debug un objet ( ce qu il contient)
en hexa ...

0000000: 0001 0101 0000 0001 0000 0014 0000 0004 ................
0000010: 0000 0000 0000 0000 0000 0000 0000 0000 ................

et cela marche nikel sauf que il m ecrit ca

0000010: 0001 0101 0000 0001 0000 0014 0000 0004 ................
0000020: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000030: 0a .

attendus que 0x0a == n

je me suis dis que peux etre c etais la "faute" a write ?


Si ton fstream contient un 'n', c'est parce que ta string "pouet" le
contient aussi.
Vérifie comment tu l'a crée.
Une erreur classique avec certaines boîtes de dialogue est de taper CR
(carriage return) après avoir entré une chaîne, et ensuite d'appuyer sur
un bouton ok. Dans ce cas, le CR a toutes les chances d'être aussi
stocké avec la string.

Alain