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").
Зная эти режимы, вы уже можете начинать писать программы, используя все преимущества файлового ввода-вывода.
Открытие и закрытие файлов
При открытии или создании файлов необходимо задать режим доступа к ним. Поскольку одновременно в системе может быть открыто ограниченное