Struktur in Datei speichern
-
Hallo,
ich schreibe eine Webcam-Anwendung, wobei ich für 2 Webcams die Einstellungen speichern möchte.
Dafür habe ich mir folgende Struktur geschaffen:typedef struct { char *name; long Brightness; long Contrast; long Hue; long Saturation; long Sharpness; long Gamma; long ColorEnable; long WhiteBalance; long BacklightCompensation; long Gain; int width; int height; } Cam_Properties;
Diese wird auch wunderbar von meinem Programm gefüllt *freu*.
Nun möchte ich diese Struktur gerne und habe auch schon etwas geschrieben:
OPENFILENAME myf; char fbuf[200]; fbuf[0]=0; memset(&myf,0,sizeof(OPENFILENAME)); myf.lStructSize=sizeof(OPENFILENAME); myf.hInstance=NULL; myf.lpstrCustomFilter=NULL; myf.hwndOwner=GetSafeHwnd(); myf.lpstrFilter="*.cam"; myf.nFilterIndex=1; myf.lpstrFile=(char*)fbuf; myf.nMaxFile=150; myf.Flags=OFN_CREATEPROMPT; myf.lpstrInitialDir=""; if (GetSaveFileName(&myf)) { FILE * sf; if (strcmp(&fbuf[strlen(fbuf)-4],".cam")) strcat((fbuf+strlen(fbuf)),".cam"); sf=fopen(myf.lpstrFile,"w");
Soweit hab ichs hinbekommen. Nur weiss ich jetzt nicht mehr weiter.
Ich weiß es geht irgendwie über fprintf, aber ich weiß nicht genau wie ich das gesamte struct gespeichert kriege.
Und es sollen ja gleiche 2 structs gespeichert werden.Habt Ihr irgendeine Idee wie es geht???
-
sf=fopen(FILE,"rb");
fwrite(&fbuf,sizeof(Cam_Properties),1,sf);
fread(&fbuf,sizeof(Cam_Properties),1,sf);
-
das funktioniert so nicht: in deiner Struktue steht ein Zeiger auf den Text. wenn du die Struktur so speicherst, wird dabei nur der Zeiger gespeichert, aber nicht der Text auf den dieser zeigt.