Программирование на языке высокого уровня. Марапулец Ю.В. - 122 стр.

UptoLike

Составители: 

{
cout << "Ошибка открытия файла";
return 1;
}
while (!cef.eof())
{
f.getline(buf, 81);
cout << but << endl;
}
return 0;
}
Для закрытия потока определен метод close(), но поскольку он неявно выполняется
деструктором, явный вызов данного метода необходим только тогда, когда требуется
закрыть поток раньше конца его области видимости.
4.1.4. Строковые потоки ввода-вывода
Как было указано ранее, существуют специальные классы, описанные в strstrea.h,
позволяющие производить ввод-вывод информации в файл:
iststream - входные строковые потоки;
ostrstream - выходные строковые потоки;
strstream - двунаправленные строковые потоки.
Эти классы являются производными от классов istream, ostream и iostream соответ-
ственно, поэтому они наследуют перегруженные операции << и >>, флаги форматирова-
ния, манипуляторы, методы, состояние потоков и т. д.
Участки памяти, с которыми выполняются операции чтения и извлечения, по стан-
дарту определяются как строки C++ (класс string), которые далее будут рассмотрены бо-
лее подробно. Строковые потоки создаются и связываются с этими участками памяти с
помощью конструкторов:
explicit istrstream(int mode = ios::in);
explicit istrstream(const strings name, int mode = ios::in);
explicit ostrstream(int mode = ios::out);
explicit ostrstream(const strings name, int mode = ios::out);
explicit ststream(int mode = ios::in | ios::out);
explicit strstream(const strings name, int mode = ios::in |ios: :out);
Строковые потоки являются некоторым аналогом функций sscanf и sprintf библио-
теки С (далее будут рассмотрены более подробног) и могут применяться для преобразо-
вания данных, когда они заносятся в некоторый участок памяти, а затем считываются в
величины требуемых типов. Эти потоки могут применяться также для обмена информа-
цией между модулями программы.
В строковых потоках описан метод str, возвращающий копию строки или устанав-
ливающий ее значение:
string str() const;
void str(const string & s);
Проверять строковый поток на переполнение не требуется, поскольку размер стро-
ки изменяется динамически.
122
      {
               cout << "Ошибка открытия файла";
               return 1;
      }
      while (!cef.eof())
      {
                f.getline(buf, 81);
                cout << but << endl;
      }
      return 0;
}

     Для закрытия потока определен метод close(), но поскольку он неявно выполняется
деструктором, явный вызов данного метода необходим только тогда, когда требуется
закрыть поток раньше конца его области видимости.

      4.1.4. Строковые потоки ввода-вывода

      Как было указано ранее, существуют специальные классы, описанные в strstrea.h,
позволяющие производить ввод-вывод информации в файл:
iststream - входные строковые потоки;
ostrstream - выходные строковые потоки;
strstream - двунаправленные строковые потоки.
      Эти классы являются производными от классов istream, ostream и iostream соответ-
ственно, поэтому они наследуют перегруженные операции << и >>, флаги форматирова-
ния, манипуляторы, методы, состояние потоков и т. д.
      Участки памяти, с которыми выполняются операции чтения и извлечения, по стан-
дарту определяются как строки C++ (класс string), которые далее будут рассмотрены бо-
лее подробно. Строковые потоки создаются и связываются с этими участками памяти с
помощью конструкторов:

explicit istrstream(int mode = ios::in);
explicit istrstream(const strings name, int mode = ios::in);
explicit ostrstream(int mode = ios::out);
explicit ostrstream(const strings name, int mode = ios::out);
explicit ststream(int mode = ios::in | ios::out);
explicit strstream(const strings name, int mode = ios::in |ios: :out);

     Строковые потоки являются некоторым аналогом функций sscanf и sprintf библио-
теки С (далее будут рассмотрены более подробног) и могут применяться для преобразо-
вания данных, когда они заносятся в некоторый участок памяти, а затем считываются в
величины требуемых типов. Эти потоки могут применяться также для обмена информа-
цией между модулями программы.
     В строковых потоках описан метод str, возвращающий копию строки или устанав-
ливающий ее значение:

string str() const;
void str(const string & s);

     Проверять строковый поток на переполнение не требуется, поскольку размер стро-
ки изменяется динамически.


                                                122