Создать программу считывания произвольного файла и создание нового нетипизированного файла, копируя блоками - Pascal ABC
Формулировка задачи:
Создать программу считывания произвольного файла и создание нового нетипизированного файла, копируя блоками. Научиться использовать подпрограммы обработки директорий.
Решение задачи: «Создать программу считывания произвольного файла и создание нового нетипизированного файла, копируя блоками»
textual
Листинг программы
Program Example6; { Program to demonstrate the BlockRead and BlockWrite functions. } Var Fin, fout : File; NumRead,NumWritten : Word; Buf : Array[1..2048] of byte; Total : Longint; begin Assign (Fin, Paramstr(1)); Assign (Fout,Paramstr(2)); Reset (Fin,1); Rewrite (Fout,1); Total:=0; Repeat BlockRead (Fin,buf,Sizeof(buf),NumRead); BlockWrite (Fout,Buf,NumRead,NumWritten); inc(Total,NumWritten); Until (NumRead=0) or (NumWritten<>NumRead); Write ('Copied ',Total,' bytes from file ',paramstr(1)); Writeln (' to file ',paramstr(2)); close(fin); close(fout); end.
Объяснение кода листинга программы
- В программе создаются две переменные типа File - Fin и fout, которые представляют собой файлы для чтения и записи соответственно.
- Далее определяются три переменные - NumRead, NumWritten и Buf.
- NumRead является переменной типа Word и будет использоваться для хранения количества прочитанных байт.
- NumWritten также является переменной типа Word и будет использоваться для хранения количества записанных байт.
- Buf - это массив типа byte, который будет использоваться для хранения прочитанных и записанных данных.
- Затем определяется общая переменная Total типа Longint, которая будет использоваться для подсчета общего количества записанных байт.
- Программа повторяется до тех пор, пока NumRead не станет равным нулю или NumWritten не будет отличаться от NumRead.
- Внутри цикла выполняются следующие действия:
- Вызывается функция BlockRead, которая считывает данные из файла Fin в массив Buf. Размер считываемых данных определяется переменной Sizeof(buf).
- Затем вызывается функция BlockWrite, которая записывает данные из массива Buf в файл fout. Количество записываемых данных определяется переменной NumRead.
- После этого увеличивается значение переменной Total на количество записанных данных.
- После окончания цикла выводится сообщение о количестве скопированных байт.
- Наконец, закрываются файлы Fin и fout с помощью функций close.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д