Lecture fichier texte langage C
sebjuve
Messages postés
21
Statut
Membre
-
sebjuve Messages postés 21 Statut Membre -
sebjuve Messages postés 21 Statut Membre -
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]);
}
}
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]);
}
}
Configuration: Windows Vista Firefox 3.0.6
4 réponses
-
j'espere que tu fais ca sous linux .. file_scan = fopen("/home/res_scan","r");
-
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; } -
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. -
Ca marche correctement. J'ai compris ce que j'avais mal fait avec la commande fgets. Merci pour ton aide fiddy.