1.11M Members

how do you loop fscanf until EOF in c?

 
0
 

for example.. number.txt: (has these contents)
1.75:2.00:3.00
2.00:5.00:7.24
3.00:6.35:1.00
--
my source code is..
#include <stdio.h>
int main()
{
FILE *infile;
double a, b, c;
char d;
double sum;


infile = fopen("number.txt", "r");
if(infile == NULL)
{
printf("number DOES NOT EXISTS!");
}
else
{
while(!foef(infile)) /*here's my problem*/
{
fscanf(infile, "%lf%c%lf%c%lf\n", &a,&d,&b,&d,&c); /*fscanf is used*/
printf("%f %f %f", a, b, c); /*just for checking*/
sum = a + b + c;
printf("sum is %f", sum);
}

}

fclose(infile);
return 0;
}
--
problem is..
if i put the while loop, it won't compile. it has these error message saying "undefined reference to `foef'".
if i remove the while loop, the fscanf reads only the first line.
i would like to read also the other data from line 2 and line 3 and solve their sum respectively.
so how can i loop the the fscanf?(assuming that i don't know how many lines are in the file? or maybe its safe to say to loop the fscanf until EOF?)
thanks a lot!

 
0
 

Oops! you posted the same question twice.

 
0
 

STFW
Here is what I found for you:

while (fscanf(in_fd, "%s", username) != EOF) {
  fprintf(out_fd, "%s\n", username);
}

PS: Remember fscanf returns EOF in case of errors or if it reaches eof. So you can check return value of fscanf instead of feof().

You
This article has been dead for over six months: Start a new discussion instead
Post:
Start New Discussion
Tags Related to this Article