speichern von Teilen einer Struktur
-
Hallo Allerseits!
Ich habe folgende Struktur in einer Header-Datei vereinbart.
typedef struct {
int FIFIdType;
char FileName[100];
char Description[80];
char Date[6];
int M;
int N;
int ArrayType;
float Xmin;
float Ymin;
float SignalMin;
float SignalMax;
float **Signal;
} Image;In einer anderen Funktion WritePET(Image * MyImage) will ich Teile dieser Struktur speichern. Die komplette Struktur kann ich durch
fwrite(MyImage,sizeof(Image),1,OutFile);
for(m=0;m<MyImage->M;m++)
if((fwrite(MyImage->Signal[m],sizeof(float),
MyImage->N*MyImage->ArrayType,OutFile))!=MyImage->N*MyImage->ArrayType)
Error("Error writing to file: `%s'",OutFileName);in eine Datei ausschreiben. Mein Frage ist nun, wie ich es am einfachsten und sinnvollsten Anstelle, wenn ich zum Beispiel nur MyImage->Description, MyImage->M und MyImage->Xmin aus der Struktur am Anfang der Datei speichern will, bevor MyImage->Signal ausgeschrieben wird.
Danke und Gruss john.
-
O.k., nach einigen probieren bin ich doch nun selbst auf die Lösung gekommen.
Bei Character-Variablen bzw. Arrays muss dann anscheinend so etwas wie
fwrite(&MyImage->Description,sizeof(MyImage->Description),1,OutFile); oder
fwrite(&MyImage->Description,sizeof(char[80]),1,OutFile);stehen und bei integer oder float
fwrite(&MyImage->M,sizeof(int),1,OutFile);
fwrite(&MyImage->Xmin,sizeof(float),1,OutFile);
-
bist du sicher dass du das ins richtige Forum gestellt hast? Fuer mich schaut das eher nach normalen C aus, nicht nach C#. Ausserdem verwende bitte Code-Tags.
Deine Frage hast du eh selber geloest
-
Blue-Tiger schrieb:
bist du sicher dass du das ins richtige Forum gestellt hast? Fuer mich schaut das eher nach normalen C aus, nicht nach C#. Ausserdem verwende bitte Code-Tags.
Deine Frage hast du eh selber geloest
Stimmt ... jetzt wo du es sagt, bin ich mir net mehr so sicher.
Ääähm , gehört nach ANSI C, nun ja beim nächsten Mal. Trotzdem Danke für die Hinweise.