Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Файловые потоки

Читайте также:
  1. II. Документопотоки.
  2. Quot;По-возможности" и "в-возможности существующее", холодный и теплый потоки в марксизме
  3. Денежные потоки и методы их оценки
  4. Изучение геохимических аномалий позволяет выделить площадь загрязнения, проследить потоки рассеяния химических элементов, пути их миграции.
  5. Ой курс (2, 3 потоки)
  6. Основные грузопотоки
  7. Потоки тьмы

Файловые потоки библиотеки ввода-вывода реализуют объектно-ориентированную методику работы с дисковыми файлами. Имеется три класса таких потоков:

Эти классы выводятся соответственно из istream, ostream и iostream. Таким образом, они наследуют все их функциональные возможности (перегруженные операции << и>>” для встроенных типов, флаги форматирования и состояния, манипуляторы и т. д.).

Чтобы работать с файловым потоком, нужен, во-первых, объект потока, а во-вторых, открытый файл, связанный с этим объектом.

Конструирование объекта потока

Каждый из трех классов файловых потоков имеет четыре конструктора.

ifstream ();

of stream();

fstream ();

if stream(const char *name,

int mode = ios::in, long prot = 0666);

ofstream(const char *name,

int mode = ios::out, long prot = 0666);

fstream (const char *name, int mode, long prot = 0666);

ifstreamfint file);

ofstream(int file);

fstream (int file);

ifstream(int file, char *buf, int len)

of stream(int file, char *buf, int len)

fstream (int file, char *buf, int len)

Режимы открытия файла

Параметр mode, который имеет вторая форма конструктора, задает режим открытия файла. Для значений параметра класс ios определяет символические константы, перечисленные в таблице 5.

Таблица 5. Константы класса ios для режимов открытия файла

Константа Описание
арр Открытие для записи в конец файла.
ate При открытии позиционирует указатель на конец файла.
binary Файл открывается в двоичном (не текстовом) режиме.
in Файл открывается для ввода.
out Файл открывается для вывода.
trunc Если файл существует, его содержимое теряется.

 

Константы можно комбинировать с помощью поразрядного OR. Для конструкторов классов if stream и ofstream параметр mode имеет значения по умолчанию — соответственно ios:: in и ios:: out.

Закрытие файла

В классах файловых потоков имеется функция close (), которая сбрасывает содержимое потока и закрывает ассоциированный с ним файл.

Кроме того, деструктор потока автоматически закрывает файл при уничтожении объекта потока.

При ошибке закрытия файла устанавливается флаг failbit.

Примеры файловых потоков

Следующий пример (листинг 4) демонстрирует различные режимы и способы открытия потока.


Дата добавления: 2015-07-11; просмотров: 102 | Нарушение авторских прав


Читайте в этой же книге: Операции извлечения и передачи в поток | Листинг 1. Демонстрация форматирующих функций потока | Листинг 2. Форматирование с помощью манипуляторов | Листинг 5. Произвольный доступ к файлу |
<== предыдущая страница | следующая страница ==>
Листинг 3. форматирующие флаги потоков| Бесформатный ввод-вывод

mybiblioteka.su - 2015-2024 год. (0.006 сек.)