Nun möchte ich aus jeder Datei die Zeilen in denen 'field 0' und 'field 1' vorkommt, auslesen und in einer separaten Datei ablegen z.B. 'txtout.txt'
Mein Programm dazu sieht folgendermaßen aus:
C++:
ifstream in; in.open("C:\\log1-0401.00");
ofstream out; out.open("C:\\txtout.txt"); string line; int npos;
while (!in.eof()) { getline(in, line);
if (line.find("Field 0: ") != std::string::npos) out << line;
In diesem Programm wird nur die 'log1-0401.00' ausgelesen. Ich möchte aber alle oben aufgeführten Dateien auslesen... Wollte das Problem mit geschachtelten for-schleifen angehen. Aber irgendwie funktioniert das nicht so wie es soll.
for (int i = 0; i<10; i++) for (int j = 0; j<10; j++) { ... ifstream in; in.open("C:\\log1-0"[i]"."0"[j]); ... }
Habe leider kaum Ahnung von C++, wäre sehr nett wenn ihr mir weiterhelfen könntet.
Gruss, Mathias
Bearbeitung von Pablo:
CPP Tags gesetzt
Dieser Post wurde am 05.12.2003 um 19:06 Uhr von Pablo Yanez Trujillo editiert.
das was du direkt deiner in.open anweisung übergibst funzt so nicht bastel dir erst einen string z.b. mit hilfe von sprintf und übergib diesen dann open
C++:
char buffer[100]; int j,i; for(j=401;j<405;++j){ //oder bis wohin auch immer deine dateinummern laufen for(i=0;i<10;++i){ sprintf(buffer,"c:/log1-0%d.0%d",j,i); in.open(buffer); //hier dann den ganzen zirkus mit string suchen und in die andere datei eintragen in.close(); //datei schliesen nicht vergessen }
-- ...fleißig wie zwei WeißbroteDieser Post wurde am 05.12.2003 um 16:37 Uhr von Windalf editiert.