Ecriture dans un fichier - C - Programmation
Marsh Posté le 18-01-2006 à 16:30:37
Pour écrire des caractères dont le code Ascii est inférieur à celui de l'espace, il faut ouvrir le fichier avec le paramètre "b" (comme "binaire", par défaut, il est en mode "texte", "t" ):
Fdest=fopen(dest,"wb" ); |
Marsh Posté le 18-01-2006 à 16:36:19
sous windows, les fichiers sont ouverts par défaut en mode "texte", ce qui implique que tout "\n" trouvé dans un fichier est converti en "\r\n", d'où ton caractère inattendu (cependant, je ne crois pas qu'il y aie de rapport avec les caractères de code inférieur à celui de l'espace, d'autant plus que, sur les tables qu'on utilise généralement, le \n a un code inférieur ...)
Marsh Posté le 18-01-2006 à 20:40:21
rabzouze a écrit : Le problèem est que lorsque je tombe sur un saut de ligne "\n", normalement il devrait simplement m'ecrire dans le fichier "\n". |
En mode binaire ("wb" ) oui. Mais en mode texte ("w" ), c'est plus compliqué que ça. Ca dépend du système.
http://mapage.noos.fr/emdel/notes.htm#fichiers
Marsh Posté le 18-01-2006 à 15:11:40
Le problèem est que lorsque je tombe sur un saut de ligne "\n", normalement il devrait simplement m'ecrire dans le fichier "\n".
Mais il me fait le teste du caractere et me di que j'obtiens une erreur