#include int main(void) { FILE *in, *out; struct pirate { char name[100]; /* real name */ unsigned long booty; /* in pounds sterling */ unsigned int beard_len; /* in inches */ } p, blackbeard = {"Edward Teach", 950, 48}; out = fopen("data", "w"); if (!out) { perror("fopen"); return 1; } if (!fwrite(&blackbeard, sizeof(struct pirate), 1, out)) { perror("fwrite"); return 1; } if (fclose(out)) { perror("fclose"); return 1; } in = fopen("data", "r"); if (!in) { perror("fopen"); return 1; } if (!fread(&p, sizeof(struct pirate), 1, in)) { perror("fread"); return 1; } if (fclose(in)) { perror("fclose"); return 1; } printf("name=\"%s\" booty=%lu beard_len=%u\n", p.name, p.booty, p.beard_len); return 0; }