c / intermediate
Snippet
Binäre E/A mit Strukturen
Binäre Dateivorgänge verwenden 'fwrite' und 'fread', um rohe Speicherblöcke auf die Festplatte zu übertragen. Dies ist schneller und kompakter als die Textkonvertierung, erfordert aber das gleiche Speicherlayout beim Wiedereinlesen.
snippet.c
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>struct Config { int id; float value; };void save_config(struct Config *c) {FILE *f = fopen("config.bin", "wb");if (f) {fwrite(c, sizeof(struct Config), 1, f);fclose(f);}}
Erklärung
1
fwrite(c, sizeof(struct Config), 1, f);
Schreibt den exakten Speicherinhalt der Struktur in den Dateistream.
2
"wb"
Modus-String für 'write binary', wichtig für Nicht-Text-Daten auf vielen Systemen.