Ifstream >> Operator
-
Hiho,
wie der Titel schon sagt hab ich 2 Fragen zum >> Operator von ifstream.Standardgemäß liest das Teil ja bis zu einem Leerzeichen was mir für meine Sache sehr gelegen kommt. Wenn ich nun eine große Datei damit durchgehe: Werden dann immer nur diese kleinen Stückchen aus der Datei eingelesen oder werden erst große Stücke in einen Puffer geschrieben und ich kriege dann die kleinen Stücke aus dem Puffer?
(ich würde gerne wissen wieviel Dateizugriffe ich in etwa durch diese Methode habe).Gibt es eine Möglichkeit mit dieser Methode wieder an den Anfang einer Datei zu springen?
Also das ich, wenn ich das nächste Mal >> benutze, ich wieder das erste Wort kriege.vielen Dank
xorm
-
1: Wie oft der Stream auf die Platte zugreift, hängt vom Stream-Buffer ab. Und was der macht, kannst du dir ja mal selber ansehen (Header <fstream>, Methode basic_filebuf::underflow()).
2: Mit seekg() kannst du an jede beliebige Stelle im Stream springen (und dir mit tellg() ausgeben lassen, wo du stehst).