Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Werte aus Dateien auslesen u in separaten Datei speichern

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
05.12.2003, 15:54 Uhr
tilde



Hallo!
Ich möchte mehrere Dateien auslesen. Die Dateiennamen sehen folgermaßen aus:

log1-0401.00
log1-0401.01
log1-0401.02
log1-0401.03
..
log1-0401.09

log1-0402.00
log1-0402.01
log1-0402.02
log1-0402.03
..
log1-0402.09

usw...


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.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.12.2003, 16:37 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


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ßbrote

Dieser Post wurde am 05.12.2003 um 16:37 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: