278 ____Часть II. Программирование на C++

командной строки. Атрибут Directory программно не устанавливается, к нему можно только добавлять дополнительные атрибуты или снимать их. Это предупреждает возникновение проблем с неуместными атрибутами, например установка атрибута Directory у файла.

Файловые режимы

Файловые режимы (file modes) часто путают с файловыми атрибутами (attributes of a file). Хотя между ними есть определенное сходство, и доступ к файлу с определенными атрибутами должен быть организован с помощью соответствующих режимов, но все-таки это вещи совершенно разные.

Доступ к файлам может быть реализован посредством библиотечных процедур C++. Файловые режимы влияют на все функции для манипуляций с файлами, но указываются только при открытий файлов. Для открытия файлов можно использовать функции open (), fopen ()., f reopen () и sopen (). Чаще всего используется fopen о. У функции fopen() имеются следующие режимы: *

• Read-Only — файл открывается только для чтения. Любые попытки записи в файл приведут к ошибке "access denied" (в доступе отказано).

• Write — файл открывается для записи. Если файл уже существует, то он перезаписывается. Файлы, открытые в режиме Write, доступны также и для чтения.

• Append — файл открывается на дописывание (запись после текущего конца файла). Если файл не существует, то он создается.

• Open for Update — файл открывается для исправления (для чтения и записи).

• Create — создается новый файл для исправления, с правами чтения и записи. Если файл уже существует, то он перезаписывается вновь созданным пустым файлом.

• Text — файл открывается в текстовом режиме. Этот режим используется совместно с другими режимами (т. е. комбинация режимов at открывает файл как "append text" — текстовый в режиме дозаписи).

• Binary — файл открывается как двоичный (бинарный). Этот режим также используется вместе с другими (например, режим wb предписывает открыть файл для записи как двоичный — "write binary").

Зная эти режимы, вы уже можете начинать писать программы, используя все преимущества файлового ввода-вывода.

Открытие и закрытие файлов

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