Имайки текстов файл с няколко знака (да кажем 10), можете да опитате да прочетете 1000 знака от него.
char *buf = new char[1000];
ifstream in("in.txt");
in.read(buf, 1000);
Това, разбира се, ще зададе флага eofbit (и failbit също), но ще можете да получите желаните знаци.
Сега да предположим, че искате да прочетете файла отново (от началото):
in.seekg(0); // Sets input position indicator.
in.read(buf, 100); // Try to read again.
Това не работи: защото ако се обадите:
int count = in.gcount() // Charecters readed from input.
ще забележите, че count == 0
. Което означава, че не е чел абсолютно нищо.
Оттук и въпросът: Как можете да превъртите файла назад, след като стигнете до края на файла?