037
19.04.2004, 11:57 Uhr
0xdeadbeef
Gott (Operator)
|
Beispielcode:
| C++: |
#include <stdio.h>
struct punkt { int x, y; };
int main() { FILE *fd; struct punkt pkt, pkt2;
pkt.x = 1; pkt.y = 2;
fd = fopen("test.dat", "w"); fwrite(&pkt, sizeof(struct punkt), 1, fd); fclose(fd);
fd = fopen("test.dat", "r"); fread(&pkt2, sizeof(struct punkt), 1, fd); fclose(fd);
printf("x = %d, y = %d\n", pkt2.x, pkt2.y);
return 0; }
|
Mit der Methode sind die Dateien, die du da rausschreibst, aber nicht zwischen Maschinen mit verschiedenem Bytesex portabel. Wenn das wichtig ist, musst du je nach endian die Reihenfolge der Variablen im struct herumwürfeln oder dir komplexere i/o-Funktionen bauen, die die Elemente einzeln ausgeben. Oder halt nen anderen krassen Trick. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra Dieser Post wurde am 19.04.2004 um 12:00 Uhr von 0xdeadbeef editiert. |