Условно разделить файл на 2 части и удалить вторую часть - Turbo Pascal
Формулировка задачи:
Написать программу, используя бестиповые файлы:
Условно разделить файл на 2 части и удалить вторую часть.
Решение задачи: «Условно разделить файл на 2 части и удалить вторую часть»
textual
Листинг программы
Var f: File; i,x: Byte; BEGIN Randomize; Assign(f,'f'); Rewrite(f,1); For i:=1 to 10 do begin x:=Random(100); BlockWrite(f,x,1); end; Reset(f,1); Writeln('Файл до:'); While not Eof(f) do begin BlockRead(f,x,1); Write(x,' '); end; Seek(f,5); Truncate(f); Writeln; Writeln('Файл после: '); Seek(f,0); While not Eof(f) do begin BlockRead(f,x,1); Write(x,' '); end; Close(f); Readln END.
Объяснение кода листинга программы
- Объявляются переменные: f (тип File), i (тип Byte), x (тип Byte).
- Задается начальное состояние для переменной f, устанавливая ее в состояние 'открыто'.
- Выполняется операция случайной генерации чисел от 0 до 99 для каждой из 10 строк кода.
- Записывается случайное число в файл f, используя функцию BlockWrite.
- Сбрасывается файл f, начиная с позиции 1.
- Выводится сообщение «Файл до:» и выполняется цикл чтения данных из файла f до тех пор, пока не будет достигнут конец файла (состояние Eof(f)).
- Для каждой прочитанной строки выводится ее содержимое.
- Устанавливается позиция чтения файла f на 5 позицию.
- Выполняется операция Truncate, которая удаляет все данные после позиции 5 в файле f.
- Выводится сообщение «Файл после:».
- Выполняется цикл чтения данных из файла f до тех пор, пока не будет достигнут конец файла (состояние Eof(f)).
- Для каждой прочитанной строки выводится ее содержимое.
- Закрывается файл f с помощью функции Close.
- Выводится символ новой строки для завершения программы.