Язык программирования C++ от Страуструпа

Члены 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, можно вернуть ненужный символ назад в поток, чтобы он был прочитан в другое время.



Содержание раздела