Read data from file
fscanf() function is used to read data from file.
Syntax of fscanf() :
fscanf(file_pointer, format_specifier, variable);
Code example:
#include<stdio.h>
int main()
{
FILE fp;
fp=fopen("C://test.txt","w"); // open file in writing mode
fprintf(fp,"KUET EEE");
fclose(fp);
fp=fopen("C://test.txt","r"); // open file in reading mode
char s[20];
fscanf(fp,"%s",s);
printf("%s",s);
return 0;
}
Here first we open test.txt in writing mode and write “KUET EEE” text. Then retrieve first word “KUET” by
fscanf(fp,"%s",s);
Here s[20] can contain 19 character but why only “KUET” is retrieved by
fscanf(fp,"%s",s);
Here retrieving data has been terminated by space. Notice there is space between “KUET” and “EEE”.
So, How to read all data including space? is a big question.
We can do this by feof() function.
#include<stdio.h>
int main()
{
FILE *fp;
fp=fopen("C://test.txt","r");
while(feof(fp) ==0)
{
fscanf(fp,"%s",s);
printf("%s\n",s);
}
return 0;
}
feof() function will return non-zero value for any position of file except end of the file and zero value for the end position of file. File position is updated by file pointer fp.
Previous