Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Konspekt_lektsy_Pascal_C.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.85 Mб
Скачать

Дії, які можна виконувати над файлами всіх типів:

Процедури або функції

Д і я

ASSIGN (F,<ім'я файлу>)

Зв’язує файлову змінну -F- з вказаним ім’ям фізичного файлу

REWRITE (F)

Створює файл з логічним ім’ям -F- для запису, якщо цей файл не існує. Якщо існує - вся інформація у файлі знищується

RESET (F)

Відкриває файл з логічним ім’ям -F- для читання або позиціонує відкритий файл на його початок

CLOSE (F)

Зачиняє файл з логічним ім’ям -F-.

RENAME

(F,<нове ім’я файлу>)

Перейменовує фізичний файл, раніше зв’язаний з файловою змінною -F- в указане ім’я. Застосовується тільки для зачинених файлів.

ERASE (F)

Знищує фізичний файл, зв’язаний з файловою змінною -F-. Застосовується тільки для зачинених файлів.

EOF (F)

Функція повертає. TRUE, якщо досягнуто кінця файлу -F-. Інакше FALSE.

Текстові файли містять дані в строковому форматі і складаються з кодів символів, що включають розширені коди та коди управління. Текстові файли організуються по рядкам. Кожен рядок закінчується спеціальним кодом „кінець рядку”.

При запису в файл вся числова інформація перетворюється в строкову, а при читанні із файла - в числову. При запису можна використовувати форматування.

Формат опису файлової змінної:

F:TEXT;

Процедури та функції для текстових файлів

Процедури або функції

Д і я

SetTextBuf ( F,< буфер>)

Встановлення розміру буферу вводу -виводу по умовчанню

Append (F)

Відкрити файл для доповнення. Файл відкривається і файловий вказівник встановлюється після останнього елементу файлу.

Flush (F)

Вивід вмісту буфера вводу-виводу в файл

Eoln (F)

=true якщо досягнуто кінця рядка

SeekEoln (F)

=true якщо досягнуто кінця рядка або файлу або перед ними стоять лише пропуски та табуляція

SeekEof (F)

=true якщо досягнуто кінця файлу або перед ним стоять символи кінця рядка, пропуски або табуляція

Операції введення -виведення:

Для зчитування даних з текстового файлу використовуються процедури

READ | READLN (F,<список вводу>);

Елементами списку вводу можуть бути тільки змінні. Елементи списку вводу розділяються комами. При використанні форми READLN після задовільнення списку вводу здійснюється перехід на наступний рядок, не залежно від того, чи досягнуто кінця рядку. Процедура READLN(F); здійснює перехід до наступного рядку.

Для запису даних в файл використовуються процедури

WRITE | WRITELN (F,<список виводу>);

Елементами списку виводу можуть бути константи, змінні, вирази. Елементи списку вводу розділяються комами. Можна вказувати формат виводу. Тип змінних списку вводу-виводу може бути тільки цілим, дійсним, символьним, строковим, логічним. Структуровані типи можуть бути введено-виведено тільки по елементам. При використанні форми WRITELN після запису всіх елементів виводу формується код кінця рядку.

При запису в файл необхідно подбати про розділовий знак між елементами виводу при розміщенні в файлі. Таким знаком є символ „проміжок” для всіх типів, крім строкового. Строкові дані необхідно записувати по одному в рядок. Таким чином, запис в файл трьох чисел буде виглядати:

writeln (F,24,’ ’,35,’ ’,67);

Процедура WRITELN (F); формує код кінця рядку.

Компонентні файли складаються з послідовності компонент однієї структури. Інформація в цих файлах зберігається в машинних кодах. Компонентами можуть бути довільні типи даних.

Формат опису файлової змінної:

F : File of <тип компоненти>;

Компоненти називають записами файлу. Розмір всіх записів однаковий.

Наприклад:

var F:file of integer; F1:file of real; f5:file of string[30];

Type TM =array[1..10] of real; var F3:file of TM;

Type Tz =record

a,b,c:byte;

end;

var f6:file of Tz;

Операції введення -виведення:

Зчитування даних з файлу і запис даних в файл виконується тільки по компонентам.

Для зчитування даних з файлу використовується процедура

READ (F,<ім’я змінної типу компоненту>);

Для запису даних в файл використовується процедура

WRITE (F,<ім’я змінної типу компоненту>);

Послідовний та прямий доступ до файлів

Послідовний доступ означає, що кожний наступний елемент файлу може бути прочитаним тільки після читання попереднього. Послідовний доступ є природнім для всіх типів файлів.

Прямий доступ визначає можливість позиціонувати в файлі на довільний запис.

Послідовний доступ може бути використано для файлів довільного типу. Прямий - тільки для типізованих та безтипових файлів. Це звязано з тим, що в текстових файлах, організованих по рядках, довжина рядка може бути довільною і прочитати, наприклад, третій рядок неможливо не прочитавши два попередні. В компонентних та безтипових файлах розмір кожного елементу (запису) має визначений розмір. Тому можна завжди підрахувати положення конкретного N-го запису. Для цього потрібно розмір запису помножити на кількість записів, що передують даному (N-1)

Нумерація записів починається з 0.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]