Мы рассмотрели примеры программ, в которых файловые операции ввода и вывода выполнялись с начала файла. Однако если необходимо записать данные в выходной файл, можно добавлять информацию в конец существующего файла. Для открытия файла в режиме дозаписи необходимо использовать второй параметр. Например:
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::noreplace, открывает файл для вывода:
ifstream output_file("Filename.EXT", ios::out ios::noreplace);