ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »
