Systems IO
Fixed Record
A fixed-size record can be written and read as one binary item.
Fixed Record
fixed_record.c
#include <stdio.h>
struct Score {
int id;
int points;
};
int main(void) {
int bonus = ;
struct Score original = {42, 80 + bonus};
struct Score loaded = {0, 0};
FILE *out = fopen("egtry_c17_record.bin", "wb");
fwrite(&original, sizeof(original), 1, out);
fclose(out);
FILE *in = fopen("egtry_c17_record.bin", "rb");
fread(&loaded, sizeof(loaded), 1, in);
fclose(in);
remove("egtry_c17_record.bin");
printf("id=%d points=%d\n", loaded.id, loaded.points);
return 0;
}
#include <stdio.h>
struct Score {
int id;
int points;
};
int main(void) {
int bonus = ;
struct Score original = {42, 80 + bonus};
struct Score loaded = {0, 0};
FILE *out = fopen("egtry_c17_record.bin", "wb");
fwrite(&original, sizeof(original), 1, out);
fclose(out);
FILE *in = fopen("egtry_c17_record.bin", "rb");
fread(&loaded, sizeof(loaded), 1, in);
fclose(in);
remove("egtry_c17_record.bin");
printf("id=%d points=%d\n", loaded.id, loaded.points);
return 0;
}
#include <stdio.h>
struct Score {
int id;
int points;
};
int main(void) {
int bonus = ;
struct Score original = {42, 80 + bonus};
struct Score loaded = {0, 0};
FILE *out = fopen("egtry_c17_record.bin", "wb");
fwrite(&original, sizeof(original), 1, out);
fclose(out);
FILE *in = fopen("egtry_c17_record.bin", "rb");
fread(&loaded, sizeof(loaded), 1, in);
fclose(in);
remove("egtry_c17_record.bin");
printf("id=%d points=%d\n", loaded.id, loaded.points);
return 0;
}
record layout
A struct groups fields that are stored together as one item.
read back
The loaded record fields can be used just like the original fields.