возвращает объект класса ostream, для
возвращает объект класса ostream, для которого она вызвана.
Парной для функции write() из класса ostream
является функция read() из класса istream с такой сигнатурой:
read( char* addr, streamsize size )
read()
читает size
соседних байт из входного потока и помещает их, начиная с адреса addr. Функция gcount()
возвращает число байт, прочитанных при последнем обращении к read(). В свою очередь read() возвращает объект класса istream, для которого она вызвана. Вот пример использования getline(), gcount() и write():
#include <iostream> int main() { const int lineSize = 1024; int lcnt = 0; // сколько строк прочитано int max = -1; // длина самой длинной строки char inBuf[ lineSize ]; // читается до конца строки, но не более 1024 символов while (cin.getline( inBuf, lineSize )) { // сколько символов фактически прочитано int readin = cin.gcount(); // статистика: счетчик строк, самая длинная строка ++lcnt; if ( readin > max ) max = readin; cout << "Строка #" << lcnt << "\tПрочитано символов: " << readin << endl; cout.write( inBuf, readin).put('\n').put('\n'); } cout << "Всего прочитано строк: " << lcnt << endl; cout << "Самая длинная строка: " << max << endl; |
}
Когда на вход было подано несколько фраз из романа Германа Мелвилла “Моби Дик”, программа напечатала следующее:
Строка #1 Прочитано символов: 45
Call me Ishmael. Some years ago, never mind
Строка #2 Прочитано символов: 46
how long precisely, having little or no money
Строка #3 Прочитано символов: 48
in my purse, and nothing particular to interest
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий