ВУЗ:
Составители:
Рубрика:
180
некоторые, наиболее часто употребляемые из них. Большинство этих
функций используется для неформатируемого ввода-вывода.
Для извлечения символа из потока можно использовать функцию-
член get() потока istream. Она имеет следующие прототипы:
int get();
istream& get(signed char*, int len, char delim= '\n');
istream& get(unsigned char*, int len, char delim= '\n');
istream& get(unsigned char &);
istream& get(signed char &);
istream& get(streambuf &, char delim= '\n');
Функция get() в первой форме возвращает код прочитанного сим-
вола или -1, если встретился конец файла ввода (ctrl/z).
Приведем пример использования функции get ():
#include <iostream.h>
void main(){
char ch;
cout << ”Введите число. ”
<< ”Для завершения ввода нажмите <ENTER>:”;
while (cin.get(ch)){ // Проверка на код клавиши <ENTER>
if (ch = = ‘\n’) break;
}
return;
}
Для вставки символа в поток вывода используется функция put() с
прототипом ostreaiu& put(char ch). Функция get () может также исполь-
зоваться для чтения строки символов. В этом случае используются ее
варианты, в которых эта функция извлекает из входного потока симво-
лы в буфер str, пока не встретится символ-ограничитель delim (по
умолчанию – перевод строки) или не будет прочитано (len-1) симво-
лов, или не будет прочитан признак конца файла. Сам символ-
ограничитель не извлекается из входного потока.
Ввиду того, что функция get() не извлекает из входного потока
символ-ограничитель, она используется редко. Гораздо чаще использу-
ется функция getline(), которая извлекает из входного потока символ-
ограничитель, но не помещает его в буфер. Она имеет следующие про-
тотипы:
istream& getline (char* str, int len, char delim);
istream& getline(char * str, int len);
Страницы
- « первая
- ‹ предыдущая
- …
- 176
- 177
- 178
- 179
- 180
- …
- следующая ›
- последняя »