11.2. Структура файла - Конспект лекций по информатике для специальностей 2102, 2103 Автор доц., к т. н. Каширская Е. Н

^ 11.2. Структура файла
Первоначальный порядок компонент файла определяется самой последовательностью. При этом в любой момент для прямого доступа открыта только одна компонента, для остальных же предусмотрен последовательный доступ через файл. В определении файла число компонент, которое называют его длиной, не указывается. Эта характеристика особенно ярко показывает различие между файлами и массивами (и индексов у файлп нет).

Если число компонент равно нулю, файл называется пустым. Итак, мы видим, что файл отличается от массивов, записей и множеств, т.к. это структура последовательного доступа, все компоненты которой относятся к одному и тому же типу: любому, кроме типа «файл». Нельзя создать файл файлов!

При описании каждой файловой переменной F автоматически вводится буферная переменная, относящаяся к типу компонент файла. Её можно считать некоторым средством доступа к файлу, с помощью которого просматривают (читают) существующие компоненты, либо создают (записывают) новые. Значение буферной переменной автоматически изменяется при выполнении ряда операций над файлами. Для файловых переменных операция присваивания не определена. Для добавления новых компонент существует единственный способ – добавлять их в файл по одной через буферную переменную. Если указатель текущей позиции в файле оказывается за последней его компонентой, значение буферной переменной становится неопределённым.

Характеристики файла:

последовательный доступ;

переменная длина;

существование буферной переменной, –

допускают, что файлы можно связать со вторичной памятью и периферийным оборудованием

Как конкретно хранятся компоненты, зависит от компьютерной системы, но мы можем полагать, что только часть из них находится в данный момент в основной памяти и только одна компонента доступна непосредственно: та, на которую указывает буферная переменная.

Для определения признака конца файла используется встроенная стандартная функция EOF (файловая переменная);

Она определяет, достигнут или нет конец файла.

EOF = True, если конец файла достигнут;

EOF = False, если нет.

Если файл не имеет компонентов, то он называется пустым и функция EOF = True для пустого файла.

Функцию EOF можно использовать в логических выражениях и в частности, в операторах цикла.

Пример: While Not EOF ( имя ) Do Begin

…….

End;

Если буферная переменная сдвинута за пределы конца файла (end of file), стандартная логическая функция eof (F) = true, в противном же случае – false.

Файловый тип – единственный тип значений, который связывает программу с внешним устройством (ввод-вывод данных).

Файлы по отношению к программе могут быть внешними и внутренними. Внутренние файлы содаются, используются и существуют только во время работы данной программы.

Файлы, которые существуют вне программы (на дисках), называются внешними. Внешние файлы могут передаваться в программу в качестве параметров в её заголовке (в круглых скобках после имени программы).

В общем и целом имеется две различных разновидности файлов:

двоичные файлы;

текстовые файлы

^ Двоичный файл состоит из последовательности записей одной длины и одного внутреннего формата. Записи запоминаются непрерывно одна за другой, чтобы оптимизировать запоминание файла.

^ Текстовые файлы состоят из символов (char), а кроме того, каждый текстовый файл делится на строки. Каждая строка состоит из любого числа байтов и заканчивается символом конца строки. Файл завершается символом окончания файла. Таким образом, текстовые файлы – это файлы, состоящие из символов, причём не все байты представляют собой печатаемые символоы. Компонентами текстового файла являются строки различной длины, разделённые управляющими символами.
^ 11.3. Имя файла
Каждому файлу, размещённому на диске, присваивается уникальное имя, длина которого не должна превышать восьми символов. Длина расширения файла не должна превышать трёх символов.

^ Имя файла – это любое выражение строкового типа, которое строится по правилам определения имён в дисковой операционной системе (DOS):

- имя содержит до восьми разрешённых символов (буквы, цифры и знаки подчеркивания);

- за именем может следовать расширение – последоватенльность до трёх разрешенных символов;

- расширение, если оно есть, отделяется от имени точкой.

Перед именем может ставиться так называемый путь к файлу – имя диска или имя текущего каталога и имена каталогов вышестоящих уровней.

Имя диска содержит одну из латинских букв, после которой ставится двоеточие. Имена А: и В: относятся к дисковым накопителям на гибких дисках, остальные – к жёстким дискам.

Если имя диска не указано, подразумевается устройство по умолчанию – то, которое было установлено в операционной системе перед началом работы программы.

За именем диска может указываться имя каталога, содержащего файл. Если имени каталога предшествует обратная косая черта ( \ ), то путь к файлу начинается из корнего каталога, если черты нет – из текущего каталога, установленного в системе по умолчанию. За именем каталога может следовать одно или несколько имён каталогов нижнего уровня. Каждому из них должна предшествовать обратная косая черта. Весь путь к файлу отделяется от имени файла обратной косой чертой. Максимальная длина имени вместе с указанием пути – 79 символов.

6797962565428035.html
6798088757250961.html
6798191292159521.html
6798276869504495.html
6798355741222700.html