[C/C++] seekg will nicht so wie ich

Hallo!

Ich packe mich gerade mal so richtig an den Kopf
in etwa folgender source code:

Code:
#include <fstream>
#include <iostream>

using namespace std;

int main(){

 string sRead
 ifstream fInput;

 fInput.open("Gammelfleisch.txt", ios_base::in);

 while(!fInput.eof()){

  getline(fInput, sRead);
  cout << sRead << endl;
 }
fInput.seekg(0, ios_base::beg);

 while(!fInput.eof()){

  getline(fInput, sRead);
  cout <<"blubb:" <<sRead << endl;
 }
fInput.close();
return 0;
}
Warum funktioniert das nicht? Die Zeile
Code:
fInput.seekg(0, ios_base::beg);
setzt doch eigentlich den Dateizeiger wieder an den Anfang der Datei oder nicht?
Dann müsste die zweite while-Schleife also ausgeführt werden... Tut sie aber leider nicht.
Was mache ich falsch? ?( ?( ?( ?(

Danke

Nimda05
 
hab mir das prog jetzt zwar nicht angesehen aber versuch mal

Code:
fInput.seekg (0, ios::beg);
was dein base dazwischen macht weiss ich nicht... ich kenn nur die syntax:
Code:
istream& seekg (long pos, ios::seekdir f);

EDIT: und du hast in Zeile 8 nen Semikolon vergessen ;)
 
Hi!

Wie würde denn der Befehl aussehen um den Dateizeiger wieder an den Anfang zu setzen? Ich hab das jetzt mal kurzfristig zum weiterarbeiten so gemacht dass die Datei geschlossen wird und dann wieder geöffnet. Aber das wirklich Wahre ist das nicht.

Vielen Dank

Nimda05
 
Zurück
Oben