Глава 12. Библиотечные функции Borland C++_______________________275

В этой главе будут рассмотрены следующие вопросы:

• Атрибуты файлов

• Режимы открытия файлов на чтение и на запись

• Файлы с последовательным и произвольным доступом

• Различные функции для манипуляций со строками

• Считывание и установка системных даты и времени

• Программирование списков аргументов переменной длины

Дисковый ввод-вывод

Использование файлов для хранения информации, параметров, системной информации, строк инициализации модема' и т. д. является естественным для любой современной программы. В качестве примера рассмотрим компилятор, с которым вы работаете. В его состав входит несколько исполняемых файлов: компиляции, компоновки и компиляции ресурсов. Когда вы работаете в IDE, то для вызова компиляторов и компоновщиков необходим еще один набор программ. Исходный текст приложения записывается в файл; ваши настройки цветов для Windows 3.1, Windows 95 или Windows NT тоже сохраняются в файлах. Если у компьютера отнять возможность хранить данные на постоянном носителе и извлекать их оттуда, компьютер стал бы большим и дорогостоящим калькулятором.

Атрибуты файлов

У всех файлов, как в системе FAT (File Allocation Table, Таблица размещения файлов — файловая система операционных систем MS-DOS, Windows З.х и Windows 95), так и в NTFS (Windows NT File System, Файловая система Windows NT), есть ряд атрибутов, о которых и пойдет речь в этой главе. Атрибуты файлов называются Archive (архивный), Read-Only (только для чтения), System (системный), Hidden (скрытый) и Normal (нормальный). Хотя диски, каталоги и подкаталоги не являются файлами, обе системы (FAT и NTFS) позволяют присваивать им указанные атрибуты. Специфичным для каталогов является атрибут Directory (каталог), а для дисков — Volume ID (метка тома).

Атрибут Archive. Атрибут Archive устанавливается на файл, созданный в качестве резервной копии или архива. Это выполняется командой DOS BACKUP или другими программами резервирования. При внесении изменений в файл с установленным атрибутом Archive бит, представляющий данный атрибут, сбрасывается. Файлы с атрибутом Archive доступны для записи и чтения.

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