Fgetc(fichier) ne marche pas [c]
Résolu/Fermé
A voir également:
- Fgetc(fichier) ne marche pas [c]
- Fichier rar - Guide
- Fichier host - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir fichier .bin - Guide
3 réponses
loupius
Messages postés
697
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
31 décembre 2017
148
23 nov. 2010 à 01:40
23 nov. 2010 à 01:40
Fgetc(fichier) ne marche pas
Oh si ! Mais tu travailles avec un flux, donc il ne faut pas oublier de (re)définir la valeur du pointeur de position.
Voir ici.
Bonne continuation.
Oh si ! Mais tu travailles avec un flux, donc il ne faut pas oublier de (re)définir la valeur du pointeur de position.
Voir ici.
Bonne continuation.
Dsl du retard mais le probleme c'est que je travaille sur windows, et je ne comprend pas se que tu as dit,
Oh si ! Mais tu travailles avec un flux, donc il ne faut pas oublier de (re)définir la valeur du pointeur de position.
up
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
23 nov. 2010 à 21:27
23 nov. 2010 à 21:27
mais le probleme c'est que je travaille sur windows
Ce n'est pas un problème puisque le C est un langage portable.
Le lien qu'il t'a donné s'applique donc également sur Windows.
Pour l'explication :
Tu ouvres le fichier en w+. Le fichier sera donc vide. Le Ensuite tu écris dedans "a e y i", très bien. Le problème est que si tu lis le fichier, tu liras les caractères après le "i", c'est à dire EOF.
Il faudrait que tu réinitialises le pointeur de flux en début de fichier avec un rewind : http://www.linux-france.org/article/man-fr/man3/fseek-3.html
Un simple rewind(fichier) juste après ton fprintf fera l'affaire.
Cdlt,
Ce n'est pas un problème puisque le C est un langage portable.
Le lien qu'il t'a donné s'applique donc également sur Windows.
Pour l'explication :
Tu ouvres le fichier en w+. Le fichier sera donc vide. Le Ensuite tu écris dedans "a e y i", très bien. Le problème est que si tu lis le fichier, tu liras les caractères après le "i", c'est à dire EOF.
Il faudrait que tu réinitialises le pointeur de flux en début de fichier avec un rewind : http://www.linux-france.org/article/man-fr/man3/fseek-3.html
Un simple rewind(fichier) juste après ton fprintf fera l'affaire.
Cdlt,