Monday, 6 March 2017

feof - How does C handle EOF?

#include 

int main()
{
FILE* f=fopen("book2.txt","r");
char a[200];

while(!feof(f))
{
fscanf(f,"%s",a);
printf("%s ",a);
printf("%d\n",ftell(f));
}
fclose(f);
return 0;
}



I have the code above. book2.txt contains "abcdef abcdef" with the cursor move to a newline(ie:abcdef abcdef\n). I get the results below.



abcdef 6
abcdef 13
abcdef 19


I expect to get




abcdef 6
abcdef 13
15


What am I doing wrong?

No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...