Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Datei mehrmal einlesen ?

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
14.07.2004, 07:43 Uhr
~blackmamba
Gast


Hi,

Ich hab ein kleines Problem also ich will ein Prog das eine Datei öffnet und diese dan in einer while(..) schleife mehrmal einliest. Dies soll so funktionieren das wenn das Prog am ende der Datei angekommen ist wieder mit dateihandle.seekg(0) an den Anfang spring.
Hier mein Code der nicht Funktioniert :

C++:
[...]
ifstream datei("text.txt");
char text[256];
while(datei)
{
     datei.getline(text, 256);
     cout << text << endl;
     if(!datei)
          datei.seekg(0);
}
[...]


Warum geht nicht ???
Es ist sehr dringend .

mfg blackmamba
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
14.07.2004, 08:11 Uhr
RedEagle




C++:
datei.close();
datei("text.txt");


Bin mir nicht sicher, aber so könnte es gehen
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
14.07.2004, 09:37 Uhr
virtual
Sexiest Bit alive
(Operator)



C++:
if (!datei)
{
     datei.clear(); // Error flag zurücksetzen!
     datei.seekg(0);
}


--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
14.07.2004, 09:53 Uhr
freshman



einige Hinweise:
1st) immer auf der Datei zu arbeiten ist viel langsamer als wenn du den Inhalt einmal einlesen würdest und dann damit arbeiten würdest. Dies ist natürlich keine Tautologie, sondern in Abhaängigkeit von der Funktion deines Programmes zu evaluieren (schwall....bitte nicht hauen)
2nd) schon mal was von einer Endlosschleife gehört? !!caution!!
3rd) Vorschlag:

C++:
if( !datei ){
cerr<<"Datei konnte nicht geoeffnet werden!";//eventuel Fehlercode setzen
}
else{
  while( goon ){
    while( datei.getline(text, 256) ){
      cout << text << endl;
    }
    if( <irgendeine Abbruchbedingung> ){
      datei.clear();
      datei.seekg(0,ios::beg);
    }
    else{
      goon = false;
    }
  }
}


4th)da wr wohl jemand viel schneller
--
freshman.say("Wer nicht an Wunder glaubt ist kein Realist!\a");
while(1)freshman.ask(sillyQuestion);

Dieser Post wurde am 14.07.2004 um 09:54 Uhr von freshman 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: