Item | Value |
Header file | stdio.h |
Declaration | size_t fread(void *buf, size_t size, size_t count, FILE *stream); |
Function | reads count number of objects by size and stores them in *buf. |
Return | returns the number of items actually read. |
- Use feof() to determine the end of file.
- Use ferror() to determine the error.
#include <stdio.h>
#include <stdlib.h>
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;
}
1.100000 2.200000 3.300000 4.400000 5.500000