Копирование текстовых файлов
Задача
Создать копию файла.
Решение
Копирование текстовых файлов с помощью средств языка Pascal реализовать достаточно просто. Копируемый файл открывается в режиме чтения (reset), а планируемая копия – в режиме записи (rewrite). И пока не будет достигнут конец первого файла (eof), считывать данные из одного и записывать их в другой. По окончании следует закрыть оба файла (close).
Программа на языке Паскаль:
var f1, f2: text; s: string; begin assign (f1, 'c:\file1.txt'); reset (f1); assign (f2, 'c:\file2.txt'); rewrite (f2); while not eof (f1) do begin readln (f1, s); writeln (f2, s) end; close (f1); close (f2); end.
Задачу можно усложнить, добавив возможность пользователю самостоятельно указывать адресное имя файл. Также в программу желательно добавить программный контроль наличия файла, отключив стандартную проверку операций ввода-вывода. Это делается для избегания нежелательных сообщений об ошибках при отсутствии указанного файла.
var f1, f2: text; s: string; name1, name2: string; err: boolean; begin err := true; while err = true do begin write ('File name: '); readln (name1); assign (f1, name1); {$I-} reset (f1); {$I+} if IOResult = 0 then err := false; end; write ('File name of copy: '); readln (name2); assign (f2, name2); rewrite (f2); while not eof (f1) do begin readln (f1, s); writeln (f2, s) end; close (f1); close (f2); end.
Комментарии
А если надо преобразовать исходный файл