Язык программирования C++. Вводный курс

         

Дополнительные операторы ввода/вывода


Иногда необходимо прочитать из входного потока последовательность не интерпретируемых байтов, а типов данных, таких, как char, int, string и т.д. Функция-член get() класса istream

читает по одному байту, а функция getline() читает строку, завершающуюся либо символом перехода на новую строку, либо каким-то иным символом, определяемым пользователем. У функции-члена get() есть три формы:

·

get(char& ch) читает из входного потока один символ (в том числе и пустой) и помещает его в ch. Она возвращает объект iostream, для которого была вызвана. Например, следующая программа собирает статистику о входном потоке, а затем копирует входной поток в выходной:

#include <iostream>

int main()

{

   char ch;

   int  tab_cnt = 0, nl_cnt = 0, space_cnt = 0,

        period_cnt = 0, comma_cnt = 0;

   while ( cin.get(ch)) {

           switch( ch ) {

                           case ' ':  space_cnt++;  break;

                           case '\t': tab_cnt++;    break;

                           case '\n': nl_cnt++;     break;

                           case '.':  period_cnt++; break;

                           case ',':  comma_cnt++;  break;

                  }

                  cout.put(ch);

   }

   cout << "\nнаша статистика:\n\t"

        << "пробелов: "    << space_cnt  << '\t'

        << "символов новой строки: " << nl_cnt     << '\t'

        << "табуляций: "      << tab_cnt    << "\n\t"

        << "точек: "   << period_cnt << '\t'

        << "запятых: "    << comma_cnt  << endl;

}

Функция-член put()

класса ostream

дает альтернативный метод вывода символа в выходной поток: put()

принимает аргумент типа char и возвращает объект класса ostream, для которого была вызвана.

После компиляции и запуска программа печатает следующий результат:

Alice Emma has long flowing red hair. Her Daddy says



Содержание  Назад  Вперед







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий