fread
From cppreference.com
Defined in header
<stdio.h>
|
||
(until C99) | ||
(since C99) | ||
Reads specified number of objects in the array buffer
from the given input stream stream
. Objects are not interpreted in any way.
Contents |
[edit] Parameters
buffer | - | pointer to the array where the read objects are stored |
size | - | size of each object in bytes |
count | - | the number of the objects to be read |
stream | - | the stream to read |
[edit] Return value
The number of objects read successfully.
[edit] Example
fread with error checking
Run this code
#include <stdio.h> #include <stdlib.h> int main(void) { /* Prepare an array of f-p values. */ #define SIZE 5 double A[SIZE] = {1.,2.,3.,4.,5.}; /* Write array to a file. */ FILE * fp = fopen("test.bin", "wb"); fwrite(A,sizeof(double),SIZE,fp); fclose (fp); /* Read the f-p values into array B. */ double B[SIZE]; fp = fopen("test.bin","rb"); int ret_code = fread(B,sizeof(double),SIZE,fp); if (ret_code < SIZE) { if (feof(fp)) printf("EOF reached\n"); else if (ferror(fp)) { perror("fread()"); fprintf(stderr,"fread() failed in file %s at line # %d\n", __FILE__,__LINE__-8); exit(EXIT_FAILURE); } } printf("%.1f\n", B[4]); /* print one f-p value */ return EXIT_SUCCESS; }
Output:
5.0
[edit] See also
reads formatted input from stdin, a file stream or a buffer (function) |
|
gets a character string from a file stream (function) |
|
writes to a file (function) |
|
C++ documentation for fread
|