Question: coding in c: not sure what sequential tape reading is or how to do it. Please run the following program. Use sequential tape reading analogy,
coding in c: not sure what sequential tape reading is or how to do it.
Please run the following program. Use sequential tape reading analogy, please draw sequntial tape values and current head positions on the tape to explain the results of print-out.
#include typedef struct {int x; char v;} rec_t; int main() { int c; FILE *fp; rec_t my;
fp=fopen("test.bin","wb"); for ( c=1; c <= 10; c++) { my.x= c; my.v= c+64;
fwrite(&my, sizeof(rec_t), 1, fp); }
printf("(%d %d), ", sizeof(rec_t), sizeof(my.x)); //______________ fclose(fp);
fp=fopen("test.bin", "rb"); c = 3; fseek(fp, sizeof(rec_t)*c, SEEK_SET); fread(&my, sizeof(rec_t), 1, fp); printf("(%d %c), ", my.x, my.v); //_______________________________
c = 2; fseek(fp, sizeof(rec_t)*c, SEEK_CUR); fread(&my, sizeof(rec_t), 1, fp); printf("(%d %c), ", my.x, my.v); //_______________________________
c = -1; fseek(fp, sizeof(rec_t)*c, SEEK_END); fread(&my, sizeof(rec_t), 1, fp); printf("(%d %c), ", my.x, my.v); //_______________________________
rewind(fp); fread(&my, sizeof(rec_t), 1, fp); printf("(%d %c), ", my.x, my.v); //_______________________________
fclose(fp);
return 0; }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
