C Tutorial/stdio.h/fread

Материал из C\C++ эксперт
Перейти к: навигация, поиск

fread

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.

  1. Use feof() to determine the end of file.
  2. Use ferror() to determine the error.


<source lang="cpp">#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;
 }</source>