Копирование текстовых файлов

Задача

Создать копию файла.

Решение

 

Копирование текстовых файлов с помощью средств языка 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.

 

Тема

Файлы

Уровень

Простые задачи

Комментарии