Téléchargement
illégal
Posez votre question Signaler

[C] problème de détection de fin de fichier [Résolu]

dji - Dernière réponse le 13 déc. 2006 à 23:51
Bonjour,
Le fichier toto.txt contient :
1 2
1 3
1 4
1 5
1 6
avec normalement la fin du fichier (édité avec emacs) juste après le chiffre 6. Mon but étant juste de réecire dans la console ce qu'il y a dans ce fichier.
voici un bout de mon prgramme :
char c1;
FILE *pfic;
int i=0;
pfic=fopen(toto.txt,"r");
while(pfic!=NULL){
if(i<25){
c1=fgetc(pfic);
printf("%c",c1);
if(pfic==NULL){
printf("detection de fin de fichier ");
}
i++;
}
else{exit(-1);}
}
En exécutant le prgramme j'obtiens le resulat suivant :
1 2
1 3
1 4
1 5
1 6�����
Je n'arrive pas à détecter la fin de fichier... et je ne comprends vraiment pas pourquoi? :/
Si vous avez une explication elle sera apréciée :)
Merci d avance ;)
Lire la suite 

[C] problème de détection de fin de fichier »

4 réponses
Réponse
+1
moins plus
hmm désolé pour la présentation du source ... c'est abusé que toutes mes indentation aient été bouffées ;p
bon juste pour vous "facilitez" la lecture du programme je refais une présentation custom ;) :

char c1;
FILE *pfic;
int i=0;
pfic=fopen(toto.txt,"r");
while(pfic!=NULL){
-----if(i<25){
----------c1=fgetc(pfic);
----------printf("%c",c1);
----------if(pfic==NULL){
-----------------printf("detection de fin de fichier ");
----------}
----------i++;
------}
------else{exit(-1);}
}
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

ce n'est pas NULL que tu dois utiliser mais EOF(EndOfFile)
 if(c1==EOF)
regarde ici lire et écrire dans des fichiers
Ajouter un commentaire
Réponse
+0
moins plus
salut. moi j'utilise aussi la fonction
bool feof(FILE*);
c'est pas mal aussi pour détecter la fin d'un fihchier.
En fait, à chaque foi que tu li dans ton FILE* la variable est modifié pour pointer sur le caractère suivant, cette fonction détecte quand tu pointe sur la fin du fichier.
Ajouter un commentaire
Réponse
+0
moins plus
Merci à vous lami20j et Char Snipeur. Grace à vous j'ai corrigé et ça fonctionne nickel.
Thx ^^
Ajouter un commentaire
Ce document intitulé « [C] problème de détection de fin de fichier » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?