6.11  Управление открытием файла

Мы рассмотрели  примеры программ, в которых файловые операции ввода и вывода выполнялись с начала файла. Однако если необходимо записать данные в выходной файл, можно добавлять информацию в конец существующего файла. Для открытия файла в режиме дозаписи необходимо использовать второй параметр. Например:

ifstream output_file("FILENAME.EXT", ios::app);

В данном случае параметр ios::app указывает режим открытия файла. Режимы открытия файлов представлены в табл. 6.1.

Таблица 6.1 Значения режимов открытия.

Режим открытия

Назначение

ios::app

Открывает файл в режиме добавления, располагая файловый указатель в конце файла

ios::ate

Устанавливает файловый указатель в конце файла

ios::in

Указывает открыть файл для ввода

ios::nocreate

Указывает, если указанный файл не существует, не создавать файл и возвратить ошибку

ios::noreplace

Указывает, если файл существует, операция открытия должна быть прервана и должна возвратить ошибку

ios::out

Указывает, что надо открыть файл для вывода

ios::trunc

Сбрасывает (перезаписывает) содержимое существующего файла

Чтобы предотвратить перезапись существующего файла следующая инструкция, используя режим ios::nore­place, открывает файл для вывода:

ifstream output_file("Filename.EXT", ios::out ios::noreplace);