Глава 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 файлов, а изменения внесены только в три из них, то программа разностной