Какой тип переменной выбрать для загрузки строк файла - Pascal

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

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

Только начал работать с Паскалем...поэтому хотелось бы определиться с типом переменной, написал простейший пример, считывание строк из файла в переменную Паскаля (str: string;), но в файле строки могут быть не 255 символов, а больше и длина переменная, какой тип должен быть в таком случае?
begin
  assign(t,'input.txt');
  reset(t);
  while not eof(t) do
   begin
     readln(t,a);
     writeln('Stroka '+a);
     readln;
   end;
  close(t);
end.
И ещё один вопрос, я также не знаю какой будет размер массива, как сделать массив переменной длины, чтоб в процессе работы программы увеличивать размер этого массива...

Решение задачи: «Какой тип переменной выбрать для загрузки строк файла»

textual
Листинг программы
{$H+}
uses Strings;
var
  s: String;
  p: array [0..1023] of Char;
  f: Text; i: Integer;
begin
  Assign(f,'test.tst'); Rewrite(f);
  for i:=1 to 1000 do Write(f,'.'); WriteLn;
  Reset(f); ReadLn(f,s); WriteLn(Length(s));
  Reset(f); ReadLn(f,p); WriteLn(StrLen(p));
  Close(f); Erase(f);
end.

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

  1. Подключение модуля Strings с помощью uses Strings;
  2. Объявление переменных:
    • s - строковая переменная
    • p - символьный массив размером 1024 элемента
    • f - текстовый файл
    • i - целочисленная переменная
  3. Открытие файла test.tst для записи с помощью Assign(f, 'test.tst'); Rewrite(f);
  4. Запись в файл 1000 точек с помощью цикла for i:=1 to 1000 do Write(f,'.'); WriteLn;
  5. Закрытие файла для записи и открытие его для чтения с помощью Reset(f); ReadLn(f, s); WriteLn(Length(s));
  6. Чтение строки из файла и вывод её длины с помощью Reset(f); ReadLn(f, p); WriteLn(StrLen(p));
  7. Закрытие файла и его удаление с помощью Close(f); Erase(f);
  8. Завершение программы.

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


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

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

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