#include
#include
double d[10] = {
4.23, 8.87, 3.23, 4.23, 0.97,
1.45, 3.78, 10.0, 1.801, 5.458
};
int main(void)
{
long loc;
double value;
FILE *filep;
if((filep = fopen("myfile", "wb"))==NULL) {
printf("Cannot open file.\n");
exit(1);
}
/* write the entire array in one step */
if(fwrite(d, sizeof d, 1, filep) != 1) {
printf("Write error.\n");
exit(1);
}
fclose(filep);
if((filep = fopen("myfile", "rb"))==NULL) {
printf("Cannot open file.\n");
exit(1);
}
printf("Which element? ");
scanf("%ld", &loc);
if(fseek(filep, loc*sizeof(double), SEEK_SET)) {
printf("Seek error.\n");
exit(1);
}
fread(&value, sizeof(double), 1, filep);
printf("Element %ld is %f", loc, value);
fclose(filep);
return 0;
}