Объектно-ориентированное программирование на языке С++. Ноткин А.М. - 74 стр.

UptoLike

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

75
Если операция >> используется для новых типов данных, то при её
перегрузке необходимо предусмотреть соответствующие проверки.
Файловый ввод-вывод.
Потоки для работы с файлами создаются как объекты следующих
классов:
ofstream – запись в файл;
ifstream – чтение из файла;
fstream – чтение/запись.
Для создания потоков имеются следующие конструкторы:
fstream();
создает поток, не присоединяя его
ни к какому файлу.
fstream(const char* name,int mode,int p=filebuf::openprot);
создает поток, присоединяет его к файлу с именем name, предвари-
тельно открыв файл, устанавливает для него режим mode и уровень защи-
ты p. Если файл не существует, то он создается. Для mode=ios::out, если
файл существует, то его размер будет усечен до нуля.
Флаги режима определены в классе ios и имеют следующие
значе-
ния:
in для чтения
out для записи
ate индекс потока помещен в конец файла. Чтение больше не до-
пустимо, выводные данные записываются в конец файла;
app поток открыт для добавления данных в конец. Независимо от
seekp() данные будут записываться в конец;
trunc усечение существующего потока до нуля;
nocreate-команда открытия потока будет завершена неудачно, если
файл не существует;
noreplace-команда открытия потока будет завершена неудачно, если
файл существует;
binary-поток открывается для двоичного обмена.
Если при создании потока он не присоединен к файлу, то присоеди-
нить существующий поток к файлу можно функцией
void open(const char* name,int mode,int p=filebuf::openprot);
Функция
void fstreambase::close();
сбрасывает буфер потока, отсоединяет поток
от файла и закрывает файл.
Эту функцию необходимо явно вызвать при изменении режима работы с
потоком. Автоматически она вызывается только при завершении про-
граммы.
                                  75

     Если операция >> используется для новых типов данных, то при её
перегрузке необходимо предусмотреть соответствующие проверки.

      Файловый ввод-вывод.
      Потоки для работы с файлами создаются как объекты следующих
классов:
      ofstream – запись в файл;
      ifstream – чтение из файла;
      fstream – чтение/запись.
      Для создания потоков имеются следующие конструкторы:
      • fstream();
      создает поток, не присоединяя его ни к какому файлу.
      • fstream(const char* name,int mode,int p=filebuf::openprot);
      создает поток, присоединяет его к файлу с именем name, предвари-
тельно открыв файл, устанавливает для него режим mode и уровень защи-
ты p. Если файл не существует, то он создается. Для mode=ios::out, если
файл существует, то его размер будет усечен до нуля.
      Флаги режима определены в классе ios и имеют следующие значе-
ния:
      in − для чтения
      out − для записи
      ate − индекс потока помещен в конец файла. Чтение больше не до-
пустимо, выводные данные записываются в конец файла;
      app − поток открыт для добавления данных в конец. Независимо от
seekp() данные будут записываться в конец;
      trunc − усечение существующего потока до нуля;
      nocreate-команда открытия потока будет завершена неудачно, если
файл не существует;
      noreplace-команда открытия потока будет завершена неудачно, если
файл существует;
      binary-поток открывается для двоичного обмена.
      Если при создании потока он не присоединен к файлу, то присоеди-
нить существующий поток к файлу можно функцией
      void open(const char* name,int mode,int p=filebuf::openprot);
      Функция
      void fstreambase::close();
сбрасывает буфер потока, отсоединяет поток от файла и закрывает файл.
Эту функцию необходимо явно вызвать при изменении режима работы с
потоком. Автоматически она вызывается только при завершении про-
граммы.