Auswerten einer Datei nicht möglich.
-
Folgender Code:
Ich habe zwei Dateien, für beide einen FILE-Stream. Aus f soll gelesen und in s soll geschrieben werden.
Wenn nun im String puffer, als nächstes ein "eintragen" vorkommt soll der eintrag von der datei auf die f zeigt, in die auf die s zeigt geschrieben werden. Solange bis "email:" erreicht ist und der beitrag danach wird auch noch geschrieben.
Falls "löschen" vorkommt, wird der Eintrag einfach übersprungen.Nun fogendes Problem:
Es wird immer nur der erste Eintrag in die neue Datei geschrieben, i steht auch auf 1 und j auf 0.
puffer-String:"15=loeschen&30=eintragen&43=eintragen"
wenn ich nun die beiden do while schleifen auskommentiere, steht i auf 2 und j auf 1, also alles richtig. Aber was hat das auskommentieren der inneren schleifen, mit der if & else Bedingung zu tun?
Ich finde da einfach keinen Zusammenhang.
-
Code vergessen, ich bitte um entschuldigung:
ptr = strtok(puffer,"="); ptr = strtok(NULL,"&"); while (ptr != NULL) { if(strcmp(ptr,"eintragen")==0) { do { fscanf(f,"%s",puffer); fprintf(s,"%s",puffer); } while(strcmp(puffer,"email:")!=0); fscanf(f,"%s",puffer); fprintf(s,"%s",puffer); i++; } else if(strcmp(ptr,"loeschen")==0) { do { fscanf(f,"%s",puffer); } while (strcmp(puffer,"email:") != 0); fscanf(f,"%s",puffer); j++; } ptr = strtok(NULL,"="); ptr = strtok(NULL,"&"); }
-
Hab den Fehler gefunden, habe die Variable puffer für zwei verschiedene Zwecke benutzt.
Kurze Frage: Ich will den Inhalt einer Datei löschen, wie bekomme ich das hin? :>
-
Z.b. indem du bei fopen den Parameter w benutzt.
-
Und wenn Du wirklich sicher sein willst, dass der Inhalt weg ist dann würde ich ihn vorher überschreiben.