Паскаль: робота з файлами, Детальна інформація

Паскаль: робота з файлами
Тип документу: Реферат
Сторінок: 15
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 29.3
Скачувань: 1138
Робота з файловою змінною починається зі зв’язування її імені з конкретним фізичним файлом. Для цього ідентифікатор файлової змінної та ім’я фізичного файла в операційній системі, або зовнішнє ім’я, задаються у виклику процедури ASSIGN, наприклад,

assign ( f, 'myfile.dat' ).

Другий аргумент, зовнішнє ім’я, задається виразом типу string (рядок). Наприклад, якщо рядки s1 і s2 мають значення 'c:\mydir\book' та 'txt', то

assign(f, s1 + '.' + s2);

задає зв’язування з файлом c:\mydir\book.txt.

Файлові змінні з іменами INPUT і OUTPUT зв’ язуються неявно, тобто без указання в програмі, зі стандартними файлами введення й виведення – клавіатурою та екраном комп’ ютера. Їх ще називають стандартними пристроями введення-виведення. Означати явно імена input і output та зв’ язувати їх із іншими фізичними файлами не заборонено, але ми цього не рекомендуємо. Вони також можуть не вказуватися у викликах інших підпрограм обробки файлів. У розділі 2 ми вже розглядали найпростіші дії з клавіатурою та екраном.

Приклад. Нехай виконується програма з такими означеннями та операторами:



var f : text;

fn, st : string;

begin …

fn := 'default.dat'; {default - "за узгодженням"}

write ('Якщо Ви натиснете ENTER, f буде ');

writeln ('зв''язано з "default.dat". ');

writeln ('Для зміни зв''язування f введіть ім''я файла:');

readln ( st );

if st <> '' then fn := st;

assign ( f, fn );



end.

Якщо користувач бажає зв’ язати ім’ я f із файлом, зовнішнє ім’ я якого default.dat, то йому достатньо лише натиснути на клавішу Enter. Якщо йому треба задати інше зв’ язування, то він має набрати на клавіатурі ім’ я фізичного файла, наприклад, newname.dat, і натиснути на Enter.\xF0E7

Отже, після виклику процедури assign фізичний файл можна позначати ім’ ям файлової змінної. Але працювати з його елементами можна лише після відкривання відповідної файлової змінної. Процедура assign не задає відкривання файла, воно задається процедурами, які розглядаються далі.

Тут ми опишемо лише закривання файла, що задається процедурою СLOSE:

close ( f ) .

Виконання такого виклику не розриває зв’язку імені f із фізичним файлом, але читання та запис за допомогою цього імені неможливі до наступного відкривання чи нового зв’язування з подальшим відкриванням.

Спроба закрити вже закриту або ще не відкриту файлову змінну призводить до аварійного завершення програми.

Таким чином, стандартний порядок дій із файловою змінною можна подати у вигляді

зв’ язування

відкривання

обробка

The online video editor trusted by teams to make professional video in minutes