Write and read the entire array in one step
#include <stdio.h>
#include <stdlib.h>
double d[10] = {
1.3, 1.7, 1.23, 1.9, 0.97,
1.5, 7.4, 0.0, 1.01, 8.75
};
int main(void)
{
int i;
FILE *fp;
if((fp = fopen("my.txt", "wb")) == NULL) {
printf("Cannot open file.\n");
exit(1);
}
/* write the entire array in one step */
if( fwrite(d, sizeof d, 1, fp) != 1) {
printf("Write error.\n");
exit(1);
}
fclose(fp);
if((fp = fopen("my.txt", "rb"))==NULL) {
printf("Cannot open file.\n");
exit(1);
}
/* clear the array */
for(i = 0; i < 10; i++)
d[i] = 0.0;
/* read the entire array in one step */
if(fread(d, sizeof d, 1, fp) != 1) {
printf("Read error.\n");
exit(1);
}
fclose(fp);
/* display the array */
for(i = 0; i < 10; i++)
printf("%f ", d[i]);
return 0;
}
Related examples in the same category