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.


#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;
  }