Какой тип переменной выбрать для загрузки строк файла - 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.
Объяснение кода листинга программы
- Подключение модуля Strings с помощью
uses Strings; - Объявление переменных:
s- строковая переменнаяp- символьный массив размером 1024 элементаf- текстовый файлi- целочисленная переменная
- Открытие файла
test.tstдля записи с помощьюAssign(f, 'test.tst'); Rewrite(f); - Запись в файл 1000 точек с помощью цикла
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); - Завершение программы.