fputc : comportement étrange

fputc : comportement étrange - C - Programmation

Marsh Posté le 18-08-2004 à 14:07:03    

Bonjour,  
je veux écrire dans un fichier que j'ai créé avec :
 
stream = fopen("test.bin", "w" );
 
j'utilise donc fprintf lorsque j'ai des longues chaines de bytes à envoyer, mais si j'en ai qu'une j'ai utilisé fputc. par exemple  
fputc(12,stream);
Le seul problème, c'est quand j'utilise la commande
fputc(10,stream); plutôt que d'avoir 0A dans mon fichier binaire, le programme écrit systématiquement 0D0A, alors que pour les autres nombres (en tout cas pour les quelques uns que j'ai testé) il n'y a pas de problème. Pourquoi m'écrit-il deux bytes lorsque je veux envoyer 10 (0x0A)???
 
Je suis très perplexe et j'espère que vous pourrez m'aider...
 
Merci d'avance

Reply

Marsh Posté le 18-08-2004 à 14:07:03   

Reply

Marsh Posté le 18-08-2004 à 14:15:11    

Peut-être parcequ'il est ouvert en mode texte ?  
Essaye en binaire

Reply

Marsh Posté le 18-08-2004 à 14:31:50    

Merci, c'était exactement ça. 0x0A en mode texte, ça correspond à Linefeed, et il ajoutait automatiquement un carriage return avant... J'aurais du y penser. Un grand merci!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed