Бьерн Страуструп - Язык программирования С++. Главы 9-10 Страница 38. Члены istream
|
Страница 38 из 44
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, можно вернуть ненужный символ назад в поток, чтобы он был прочитан в другое время.
|