Написать программу, которая открывает текстовый файл (тип файла — text) и считывает из него строку. Если файл не удается открыть (например, файл не существует), тогда программа сама создает этот файл и записывает в него строку — Pascal(Паскаль)

VAR
f: text;
st: string;
BEGIN
{$I-}
assign(f, 'my_file.txt');
reset(f);
{$I+}
if ioresult=0 then
 begin
  readln(f, st);
  writeln('Файл "my_file.txt" существовал!');
  writeln('Считанная из файла строка: ', st);
 end else
 begin
  rewrite(f);
  st:='This was in file!';
  writeln(f, st);
  writeln('Файл "my_file.txt" не существовал!');
  writeln('Записанная в файл строка: ', st);
 end;
close(f);
END.

* переменная f — это файловая переменная типа text;
* переменная st — строка, которая считывается из файла или записывается в него.

Итак, сначала программа должна попытаться открыть файл. Так как мы не знаем точно, что нужный файл существует — нужно применить директиву компилятора {$I-} при открытии файла. Ну а затем {$I+} так как могут возникнуть другие ошибки, которые мы не стали проверять, но при выполнении программы они могут возникнуть и мы их даже не заметим.
Теперь, когда мы выключили проверку на ошибки, нужно самим проверять их. Для этого используем функцию IOResult, которая возвращает 0 (ноль) если ошибок не было и не нулевое значение, если они были.
А дальше все просто, если ошибки при открытии файла не было, то считываем из файла строку, в противном случае создаем такой файл и записываем в него строку.

Leave a Comment

82 − = 80