Переписать в новый файл g все строки файла f - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Задан текстовый файл f и строковая переменная s. Переписать в новый файл g все строки файла f, которая содержит значение переменной s в качестве подстроки.

Решение задачи: «Переписать в новый файл g все строки файла f»

textual
Листинг программы
const
  filename = 'input.txt';
 
var
  f, g: text;
  s, x: string;
 
begin
  if FileExists(filename) then
  begin
    Assign(f, filename);
    Reset(f);
    Assign(g, 'output.txt');
    Rewrite(g);
    WriteLn('Введите строку: ');
    ReadLn(s);
    while not EOF(f) do
    begin
      ReadLn(f, x);
      if Pos(s, x) > 0 then
        WriteLn(g, x);
    end;
    Close(f);
    Close(g);
    WriteLn('Файл записан')
  end
  else
    WriteLn('Файл не найден');
end.

Объяснение кода листинга программы

  1. В начале кода объявляются необходимые переменные: filename (имя файла), f (тип text, файл), g (тип text, новый файл), s (тип string, строка ввода) и x (тип string, строка).
  2. Затем проверяется существование файла с помощью функции FileExists. Если файл существует, переходим к следующему блоку. В противном случае выводится сообщение об ошибке.
  3. Далее присваиваем имени файла f значение filename и сбрасываем его в начало с помощью функции Reset.
  4. Присваиваем новому файлу g значение 'output.txt'.
  5. Открываем файл g для записи с помощью функции Rewrite.
  6. Выводим сообщение 'Введите строку: ' и считываем строку из файла s с помощью функции ReadLn.
  7. Запускаем цикл while, который будет выполняться до тех пор, пока не достигнем конца файла f. Внутри цикла считываем строку из файла f с помощью функции ReadLn и сохраняем её в переменной x.
  8. Если в строке x есть подстрока s (то есть Pos(s, x) > 0), то записываем эту подстроку в файл g с помощью функции WriteLn.
  9. После завершения цикла закрываем файлы f и g с помощью функций Close.
  10. Выводим сообщение 'Файл записан'.
  11. Если файл не был найден, выводим сообщение 'Файл не найден'.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.727 из 5
Похожие ответы