ВУЗ:
Составители:
Рубрика:
181
Здесь параметры имеют те же назначения, что и в функции get().
Функция gcount() (с прототипом int gcount()const;) возвращает
число символов, извлеченных из потока последней операцией неформа-
тируемого ввода (то есть функцией get(), getline() или read()).
Рассмотрим пример, в котором используются две последние
функции:
#include <iostream.h>
void main(){ char *name;
int len = 100;
int count = 0;
name = new char[len];
cout << ”Введите свое имя:”;
cin.getline(name, len);
count = cin.gcount();
// Уменьшаем значение счетчика на 1, так как
// getline() не помещает ограничитель в буфер.
cout << ”\nЧисло прочитанных символов: ” << count – 1;}
Для того, чтобы пропустить при вводе несколько символов, ис-
пользуется функция ignore():
istream & ignore(int n = l, int delim = EOF);
Эта функция игнорирует вплоть до n символов во входном пото-
ке. Пропуск символов прекращается, если она встречает символ-
ограничитель, которым по умолчанию является символ конца файла.
Символ-ограничитель извлекается из входного потока.
Функция peek(), имеющая прототип int peek(), позволяет ”загля-
нуть” во входной поток и узнать следующий вводимый символ. При
этом сам символ из потока не извлекается.
С помощью функции putback() (с прототипом istream &put-
back(char ch);) можно вернуть символ ch в поток ввода.
При выполнении вывода данные не сразу записываются в файл, а
временно хранятся в связанном с потоком буфере, пока он не заполнит-
ся. Функция flush() позволяет вызвать принудительную запись в файл
до заполнения буфера.
Она неявно используется манипулятором endl. Этот манипулятор
вставляет в поток символ перевода строки и очищает буфер. Таким об-
разом, оператор
cout << endl;
эквивалентен следующим:
cout << ‘\n’; cout.flush();
Страницы
- « первая
- ‹ предыдущая
- …
- 177
- 178
- 179
- 180
- 181
- …
- следующая ›
- последняя »