Паскаль: робота з файлами, Детальна інформація
Паскаль: робота з файлами
стає кількість елементів у файлі.
Зрозуміло, що використовуючи у програмі виклик процедури seek в парі з викликами read або write, ми зможемо прочитати будь-який елемент файла чи зробити заміну його значення.
Зокрема, за допомогою процедур seek, filesize і write можна розширити файл, дописуючи значення нового елемента в кінець:
seek ( f, filesize ( f ));
write ( f, v ).
Дійсно, після виклику seek файловий вказівник встановлюється за останнім елементом, тобто
f0 f1 f2 ... fN
а після виклику write значення v записується в новий елемент, після чого файловий вказівник переміщається вправо:
f0 f1 f2 ... fN fN+1
Процедура TRUNCATE задає знищення решти файла, починаючи від доступного елемента. Наприклад, після виконання викликів
seek(f, 3); truncate(f)
елементи з 3-го по останній знищуються, а залишаються з номерами 0, 1 і 2.
Використання процедур прямого доступу дозволяє вилучати елементи з файла.
Приклад 4. Наведемо програму, яка задає вилучення непотрібних елементів файла, тобто його стискання.
Нехай у файлі Group.dat зберігається інформація про студентів групи: прізвище, ім’я та середній бал. З клавіатури задається прізвище студента, який вибув – запис про нього треба вилучити з файла.
За наступною програмою файл читається до кінця і в допоміжний файл копіюються ті записи, поле-прізвище яких відрізняється від заданого. Далі файли закриваються, і засобами модуля System старий файл просто знищується, а допоміжному присвоюється зовнішнє ім’ я старого.
program OutFromGroup;
type Student = record
Sname, Name : string[20];
Ball : real;
end;
var Fi, Fo : file of Student; { інформаційний та допоміжний файл }
FileName: string; { ім’ я файла }
procedure OpenFile;
begin
writeln('Задайте ім''я файла'); readln(FileName);
assign(Fi, FileName); reset(Fi);
assign(Fo, 'NewFile.dat'); rewrite(Fo);
Зрозуміло, що використовуючи у програмі виклик процедури seek в парі з викликами read або write, ми зможемо прочитати будь-який елемент файла чи зробити заміну його значення.
Зокрема, за допомогою процедур seek, filesize і write можна розширити файл, дописуючи значення нового елемента в кінець:
seek ( f, filesize ( f ));
write ( f, v ).
Дійсно, після виклику seek файловий вказівник встановлюється за останнім елементом, тобто
f0 f1 f2 ... fN
а після виклику write значення v записується в новий елемент, після чого файловий вказівник переміщається вправо:
f0 f1 f2 ... fN fN+1
Процедура TRUNCATE задає знищення решти файла, починаючи від доступного елемента. Наприклад, після виконання викликів
seek(f, 3); truncate(f)
елементи з 3-го по останній знищуються, а залишаються з номерами 0, 1 і 2.
Використання процедур прямого доступу дозволяє вилучати елементи з файла.
Приклад 4. Наведемо програму, яка задає вилучення непотрібних елементів файла, тобто його стискання.
Нехай у файлі Group.dat зберігається інформація про студентів групи: прізвище, ім’я та середній бал. З клавіатури задається прізвище студента, який вибув – запис про нього треба вилучити з файла.
За наступною програмою файл читається до кінця і в допоміжний файл копіюються ті записи, поле-прізвище яких відрізняється від заданого. Далі файли закриваються, і засобами модуля System старий файл просто знищується, а допоміжному присвоюється зовнішнє ім’ я старого.
program OutFromGroup;
type Student = record
Sname, Name : string[20];
Ball : real;
end;
var Fi, Fo : file of Student; { інформаційний та допоміжний файл }
FileName: string; { ім’ я файла }
procedure OpenFile;
begin
writeln('Задайте ім''я файла'); readln(FileName);
assign(Fi, FileName); reset(Fi);
assign(Fo, 'NewFile.dat'); rewrite(Fo);
The online video editor trusted by teams to make professional video in
minutes
© Referats, Inc · All rights reserved 2021