ВУЗ:
Составители:
Рубрика:
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(); сбрасывает буфер потока, отсоединяет поток от файла и закрывает файл. Эту функцию необходимо явно вызвать при изменении режима работы с потоком. Автоматически она вызывается только при завершении про- граммы.
Страницы
- « первая
- ‹ предыдущая
- …
- 72
- 73
- 74
- 75
- 76
- …
- следующая ›
- последняя »