Lecture fichier texte langage C

Fermé
sebjuve Messages postés 19 Date d'inscription vendredi 13 février 2009 Statut Membre Dernière intervention 4 juin 2009 - 19 févr. 2009 à 15:39
sebjuve Messages postés 19 Date d'inscription vendredi 13 février 2009 Statut Membre Dernière intervention 4 juin 2009 - 19 févr. 2009 à 17:21
Bonjour,

Voila j'essaye de lire le contenu d'un fichier mais je n'y arrive pas. Pouvez vous jeter un coup d'oeil au code pour me dire s'il y a une erreur que je n'ai pas vu. De plus j'ai essayé d'autres fonctions du langage C comme fgets ou fread sans plus de succès. Je vous joins le bout de code juste en dessous. Merci pour votre aide.


unsigned int n = 0;

FILE* file_scan ;
file_scan = fopen("/home/res_scan","r");

if (file_scan == NULL)
printf("Open Error\n");
else {
printf("File opened\n");

while(fgetc(file_scan) != EOF)
++n;

for(i=0;i<n;i++) {

if(fscanf(file_scan, "%c", &carac) == 1) { // Doesn't work ...
buf[i] = carac;
printf("%c",buf[i]);
}

}
A voir également:

4 réponses

Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
19 févr. 2009 à 15:40
j'espere que tu fais ca sous linux .. file_scan = fopen("/home/res_scan","r");
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
19 févr. 2009 à 15:42
Salut,

Essaie :

FILE* file_scan ;
file_scan = fopen("/home/res_scan","r");

if (file_scan == NULL)
     printf("Open Error\n");
else {
     printf("File opened\n");

     while(fgets(buf,sizeof buf,file_scan)!=NULL) {
          puts(buf);

     }
    fclose(file_scan),file_scan=NULL;
}
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
19 févr. 2009 à 16:21
le problème vient de ton while(fgetc(....))n++;
après le while tu est à la fin du fichier, tu ne peux donc plus lire dedans, ce qu tu tente tout de même de faire juste après.
0
sebjuve Messages postés 19 Date d'inscription vendredi 13 février 2009 Statut Membre Dernière intervention 4 juin 2009 1
19 févr. 2009 à 17:21
Ca marche correctement. J'ai compris ce que j'avais mal fait avec la commande fgets. Merci pour ton aide fiddy.
0