Работа с дисковыми файлами
Наиболее распространенным видом файлов являются именованные области внешней (дисковой) памяти, с которыми программы могут обмениваться информацией. Необходимость в таких обменах возникает, когда объем оперативной памяти недостаточен для хранения нужной информации. В другой ситуации, например, программа может воспользоваться данными, полученными ранее другой программой и предусмотрительно записанными на диск. К числу абонентов, участвующих в обмене данными, относятся и файлы-устройства: дисплей, принтер, графопостроитель, сканер, клавиатура, каналы связи и т. п. Данный раздел посвящен работе с дисковыми файлами, хотя технология обслуживания файлов-устройств принципиально мало отличается.
Оценивая ключевые аспекты процесса обмена данными, можно сказать, что работа с файлами, в основном, ограничивается тремя-четырьмя операциями:
Несмотря на кажущуюся простоту процесса обмена данными, файловые операции достаточно сложны в освоении. Ну как, например, не спасовать перед системной библиотекой Си, которая насчитывает более 85 функций, обслуживающих дисковые файлы, и свыше 60 констант, задающих режимы работы файловых процедур. В QBasic и Паскале количество соответствующих процедур существенно меньше, однако подводные камни встречаются и там.
При работе с файлами приходится учитывать многочисленные форматы представления данных того или иного типа на разных носителях информации. Так, например, цепочка из k символов, представляющая текстовую строку, может храниться в одном из следующих форматов: