41 lines
926 B
C
41 lines
926 B
C
#include <stdio.h>
|
|
|
|
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;
|
|
}
|