Бьерн Страуструп - Язык программирования С++. Главы 9-10
Страница 38. Члены istream



10.4.4 Члены istream

Как и для ostream, большинство функций форматирования и управления
вводом находится не в классе iostream, а в базовом классе ios.

     class istream : public virtual ios {
         //...
     public:
         int         peek()
         istream&    putback(char c);

         istream&    seekg(streampos);
         istream&    seekg(streamoff, seek_dir);
         streampos   tellg();
         //...
     };

Функции позиционирования работают как и их двойники из ostream.
Окончание на букву g показывает, что именно позиция используется при
вводе символов из заданного потока. Буквы p и g нужны, поскольку
мы можем создать производный класс iostreams из классов ostream и
istream, и в нем необходимо следить за позициями ввода и вывода.
    С помощью функции peek() программа может узнать следующий символ,
подлежащий вводу, не затрагивая результата последующего чтения. С
помощью функции putback(), как показано в $$10.3.3, можно вернуть
ненужный символ назад в поток, чтобы он был прочитан в другое время.

 
« Предыдущая статья   Следующая статья »