Bonjour, je voudrais écrire des entiers dans un fichier texte, mais lorsque je les inscrits, ils sont interprêtés comme caractères, j'obtiens donc des "L" "o" ";" etc...
avec la méthode write(), comment pourrais-je m'y prendre?
merci!
Bonjour, je voudrais écrire des entiers dans un fichier texte, mais lorsque je les inscrits, ils sont interprêtés comme caractères, j'obtiens donc des "L" "o" ";" etc...
avec la méthode write(), comment pourrais-je m'y prendre?
merci!
Je vais me faire taper sur les doigts par Emmanuel pour ce raccouci ignoble, mais write() et fwrite() ne servent pas à écrire des fichiers texte: write() et fwrite() servent à écrire dans des fichiers binaires.
Pour commencer, tu devrais utiliser les fonctions de <stdio.h> (fopen(), etc.) et non les fonctions à bas niveau. Surtout pour un fichier texte.
Et pour ton entier, je te conseille d'utiliser fprintf().
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
write(), bien que POSIX.1 n'est pas définie par la norme du langage C. Je recommande de travailler en mode flux (FILE *, fopen(), <stdio.h>) et d'utiliser la fonction d'écriture fprintf() pour convertir les valeurs numériques en texte.Envoyé par seb__
Bon, ben, grillaid...
magnifique ça fonctionne parfaitement avec fprintfet c'est en effet bien plus intuitif...
merci beaucoup!
Partager