Files
system-programming/chp3/binarydata.c
Fabio Scotto di Santolo dd53e83af6 Reformat code
2025-07-04 10:39:07 +02:00

43 lines
777 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;
}