hi alle! aus einer binären File will ich Daten auslesen. for(;;) { fread(Daten1 lesen);//wenn ich hier break anwende dann kann ich die anderen Daten nicht auslesen fread(Daten2 lesen);usw.. } printf(Daten1 ausgeben);//aber hier müssen die daten,die für den ersten Durchlauf waren gezeigt werden. Ich hoffe dass meine frage deutlich ist. mfg r.To
Respekt! Ohne Fragezeichen trotzdem eine Frage stellen zu wollen... Ich persönlich sehe da zumindest keine Frage.
Hmm, sag uns doch erstmal, was du eigentlich machen willst. Ich denke nicht, dass alle hier Lust haben, nur mal so ins Blaue hinein zu raten. Willst du jeweils die Daten auslesen, und dann ausgeben? Wieso setzt du dann nicht das printf direkt hinter das fread?
Wahrscheinlich ist das printf nicht direkt hinter dem fread, damit er von den Textausgaben nicht erschlagen wird. Dann ergibt sich jedoch die Frage, ob die Daten unbedingt in einer Endlosschleife ausgelesen werden müssen. Normalerweise programmiert man nach EVA (Eingabe - Verarbeitung - Ausgabe).
mal ne Frage, kannst du auch mal Klartext reden/schreiben...? Irgendwie lese ich nur wirres Zeugs!
ok ich denke,dass die frage nicht deutlich war.Also die Daten müssen mit einer endlose schleife augelesen werden.im schleife(drin) hab ich ein bereich definiert fuer mein daten.Wenn das Bereich ueberschritten ist dann break. Die erste fread(Daten 1-->lesen) will ich spaeter als parameter verwenden,wenn ich alle Daten aus meiner File gelesen haben.Die variable Daten 1 ist wie ein zeitstempel und fuer jeden for durchlauf krieg ich neuen wert fuer Daten 1. Aber ich brauche bestimmt den ersten Zeitstempelwert. for(;;) { fread(&datastruct,sizeof(datastruct),1,fp); if(datenberich ueberschritten)break; fread(Daten 1); fread(daten 2); usw.. } y=Daten 1; // hier will ich den wert vom Daten 1 was am anfang ausgelesen ist ich hoffe,dass mein Problem deutlichen geworden ist. mfg
1. du redest noch immer wirres Zeugs, aber ich meine zu verstehen, was du willst... 2. warum willst du in einer Endlosschleife soetwas machen. Besser ist eine while-Schleife, bei der dann eine sinnvolle Abbruchbedingung gesetzt ist. 3. dann merke dir die Daten aus dem 1. Read auf einer gesonderten Variablen und alle anderen Daten auf einer weiteren. Grüße Uwe
yes_sir_habe_gelesen = 0; for(;;) { fread(Daten1 lesen); if (!yes_sir_habe_gelesen) printf(Daten1 ausgeben); yes_sir_habe_gelesen = 1; fread(Daten2 lesen);usw.. }
> Also die Daten müssen mit einer endlose schleife augelesen werden. Warum? > im schleife(drin) hab ich ein bereich definiert fuer mein daten.Wenn > das Bereich ueberschritten ist dann break. Warum machst du nicht eine normale Schleife, die die Bedingung prüft statt einer "Endlosschleife", die irgendwo mittendrin rausspringt? > Die erste fread(Daten 1-->lesen) will ich spaeter als parameter > verwenden,wenn ich alle Daten aus meiner File gelesen haben. In der Leseschleife? > for(;;) > { > fread(&datastruct,sizeof(datastruct),1,fp); > if(datenberich ueberschritten)break; >fread(Daten 1); >fread(daten 2); > usw.. > } > y=Daten 1; // hier will ich den wert vom Daten 1 was am anfang ausgelesen ist Warum schiebst du das if nicht an das Ende der Schleife?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.