Скачиваний:
15
Добавлен:
11.04.2015
Размер:
16.11 Кб
Скачать
  1. Работа с файлом. Метод FCB.

Под файлом понимают информацию, записанную на любом внешнем носителе и имеющую имя. В зависимости от того, с какой системой Вы работаете, имя файла может быть коротким (не более 8 символов) или длинным (до 31 символа). В общем случае, это ещё и устройство, с которым может работать МП. В зависимости от того, к какой системе принадлежит файл и какие функции он выполняет, к имени файла через точку добавляется расширение, состоящее из трёх символов: .asm -ассемблерный файл, .срр - файл C++, .exe, .com — исполняемые файлы и т. д. С файлами могут выполняться следующие действия: файл можно создать; записать в него информацию, если он создан заранее; его можно открыть для чтения, после записи в него данных или чтения из него данных его нужно закрыть, ненужный файл можно удалить.

Существует два метода выполнения операций с файлами:

1) метод с использованием блоков управления файлами(FСВ - File Control Block);

2) метод дескриптора файлов (handle).

Второй метод получил широкое распространение после того, как MS-DOS стала работать с древовидной структурой каталогов. А с помощью FCB можно получить доступ только к файлам в текущем каталоге. Метод 2 имеет меньше подготовительной работы, но в некоторых приложениях сами операции ввода - вывода могут быть более сложными. Например, чтение из файла с прямым доступом с использованием дескриптора файла требует, чтобы программа сама вычисляла смещение каждой записи в файле, а при методе FCB он получает номер записи и все вычисления производит система.

Метод FCB

Прежде чем читать или писать данные в файл, он должен быть открыт. Открыть файл, значит создать и проинициализировать специальную область памяти данных, которая содержит информацию о файле: его имя, имя накопителя, размер записи и т. д. Первоначально FCB содержит только имя файла и имя накопителя, а когда файл открыт в него добавляет остальные данные DOS. Всё что нужно для поиска файла, это стандартная строка пути, завершающаяся байтом ASCIIZ =0, для определения конца строки. Операции по пересылке данных должны иметь область памяти (буфер), в которую будут посылаться данные или выбираться из неё. Этот буфер называется область обмена с диском (Disk Transfer Area) или DTA.

Соседние файлы в папке Ответы по пунктам