Zeile aus Datei eingelesen, in nächster Zeile etwas suchen
-
Hallo,
ich öffne eine Datei:
while (( fgets( Zeile, 200, fpIn )) != NULL ) { !! HIER !! } fprintf( fpOut, "%s", Zeile ); } fclose( fpIn ); fclose( fpOut );
Nun muss ich aber, wenn ich etwas bestimmtes in der Zeile finde, in der nachfolgenden Zeile etwas suchen, um es in der aktuell eingelesen Zeile einzubauen.
Ungefähr so:
Falls HALLO in der nachfolgenden Zeile dann den anschließenden Zahlenwert übernehmen:Input
Test
HALLO 25
SuperOUTPUT
TEST 25
HALLO 25
SuperWie kann ich in meinem Fall, die nächste Zeile einlesen ? fgets( Zeile+1, 200, fpIn )) funktioniert nicht.
-
indem du einfach wieder fgets aufrufst. Je nach Situation musst du eine andere Variable übergeben als Zeile, damit du dir deren Inhalt nicht überschreibst.
Wenn du C++ schreibst, wäre es vermutlich angenehmer, dafür die fstreams zu verwenden. Wenn du C schreibst, bist du im falschen Forum...
-
Dieser Thread wurde von Moderator/in pumuckl aus dem Forum C++ (auch C++0x) in das Forum C (C89 und C99) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
standardkonform mit fgetpos/fsetpos:
while ( fgets( Zeile, 200, fpIn ) ) { if( strstr(Zeile,"Test")==Zeile ) { /* hier der Vorgriff auf naechste Zeile */ char z[200]; fpos_t pos; fgetpos( fpIn, &pos ); if( fgets( z,200,fpIn ) ) { char y[200]; if( 1==sscanf(z,"%*s%s",y) ) printf("Test %s",y); } fsetpos( fpIn, &pos ); } }
-
Super ich danke euch !!