Cтраница 3
Двоичный файл не похож ни на последовательный файл, ни на файл произвольного доступа. Он не организован в строки, как файл последовательного доступа, здесь нельзя выделить записи, как в файле произвольного доступа, и вообще обнаружить какую-либо информационную структуру. [31]
Как уже было сказано, C не налагает требований на структуру файлов. Так что приложение, в котором предполагается использовать файлы произвольного доступа, должно буквально создать их. Для создания файлов произвольного доступа может быть использовано множество методов. Может быть наиболее простым из них является требование, чтобы все записи в файле были одинаковой фиксированной длины. [32]
![]() |
Вид файла произвольного доступа с записями постоянной длины. [33] |
В файл с произвольным доступом можно вставлять новые данные, не разрушая при этом те, что уже находятся в файле. В следующих разделах мы объясним, как создавать файл произвольного доступа, вводить данные, считывать данные как последовательно, так и в произвольном порядке, обновлять данные и удалять данные, которые больше не нужны. [34]
Данные могут быть вставлены в файл прямого доступа без разрушения других данных файла. Данные, которые уже в нем хранятся, могут быть изменены или удалены без перезаписи всего файла. В следующих разделах будет объяснено, каким образом можно создавать файл произвольного доступа, вводить в него данные, считывать данные как последовательно, так и произвольно, обновлять и удалять данные, в которых нет необходимости. [35]
Данные в таких файлах хранятся в виде записей, которые имеют заданный размер и номер в файле. По этому номеру выполняется доступ к данным в записи. В файлах произвольного доступа данные записываются и читаются записями. [36]
В некоторых старых операционных системах, использовавшихся на мэйнфреймах, способ доступа к файлу ( последовательный или произвольный) указывался в момент создания файла. В современных операционных системах такого различия не проводится. Все файлы автоматически являются файлами произвольного доступа. [37]
Файлы последовательного доступа являются неподходящими для приложений с так называемым немедленным доступом, в которых конкретная запись информации должна быть локализована немедленно. Такими распространенными приложениями с немедленным доступом являются, например, системы резервирования авиабилетов, банковские системы, система терминалов для производства платежей в месте совершения покупок, банковские автоматы и другие типы систем по обработке запросов, которые требуют оперативного доступа к конкретным данным. Банк, в котором у вас имеется счет, может иметь сотни тысяч или даже миллионы клиентов, и тем не менее, когда вы пользуетесь банковским автоматом, ваш счет проверяется на наличие достаточных средств в течение нескольких секунд. Этот тип немедленного доступа становится возможным с помощью файлов произвольного доступа. Отдельные записи файла произвольного доступа могут быть доступны непосредственно ( и быстро) без поиска среди других записей. [38]
Файлы последовательного доступа являются неподходящими для приложений с так называемым немедленным доступом, в которых конкретная запись информации должна быть локализована немедленно. Такими распространенными приложениями с немедленным доступом являются, например, системы резервирования авиабилетов, банковские системы, система терминалов для производства платежей в месте совершения покупок, банковские автоматы и другие типы систем по обработке запросов, которые требуют оперативного доступа к конкретным данным. Банк, в котором у вас имеется счет, может иметь сотни тысяч или даже миллионы клиентов, и тем не менее, когда вы пользуетесь банковским автоматом, ваш счет проверяется на наличие достаточных средств в течение нескольких секунд. Этот тип немедленного доступа становится возможным с помощью файлов произвольного доступа. Отдельные записи файла произвольного доступа могут быть доступны непосредственно ( и быстро) без поиска среди других записей. [39]