Use fread function to read file content to a buffer
Syntax
C fread function has the following syntax.
size_t fread(void *buf, size_t size, size_t count, FILE *stream);
Header
C fread function
is from header file stdio.h
.
Description
C fread function reads count number of objects by size and stores them in *buf and returns the number of items actually read.
Use feof()
to determine the end of file.
Use ferror()
to determine the error.
Example
Use C fread function to read file content to a buffer
#include <stdio.h>
#include <stdlib.h>
// ww w . ja v a2 s . com
int main(void){
FILE *fp;
float bal[5] = { 1.1F, 2.2F, 3.3F, 4.4F, 5.5F };
int i;
if((fp=fopen("test", "wb"))==NULL) {
printf("Cannot open file.\n");
exit(1);
}
if(fwrite(bal, sizeof(float), 5, fp) != 5)
printf("File read error.");
fclose(fp);
if((fp=fopen("test", "rb"))==NULL) {
printf("Cannot open file.\n");
exit(1);
}
if(fread(bal, sizeof(float), 5, fp) != 5) {
if(feof(fp)) {
printf("Premature end of file.");
}else {
printf("File read error.");
}
}
fclose(fp);
for(i=0; i<5; i++){
printf("%f ", bal[i]);
}
return 0;
}
The code above generates the following result.