如何更改以下过程以便它使用循环,循环由文件开头的数字控制?我还想添加一个固定大小的记录数组来存储每个记录读取。我对所有这些都比较新,所以任何帮助都表示赞赏。
procedure ReadLinesFromFile(var myFile: TextFile);
var p: Person;
number: Integer;
begin
ReadLn(myFile, number);
ReadLn(myFile, p.name);
ReadLn(myFile, p.age);
ReadLn(myFile, p.name);
ReadLn(myFile, p.age);
ReadLn(myFile, p.name);
ReadLn(myFile, p.age);
ReadLn(myFile, p.name);
ReadLn(myFile, p.age);
ReadLn(myFile, p.name);
ReadLn(myFile, p.age);
end;
答案 0 :(得分:0)
您必须声明一个数组,例如
people: array [1..100] of person
然后按以下方式填写
ReadLn(myFile, number);
for i:= 1 to number do
begin
ReadLn(myFile, people[i].name);
ReadLn(myFile, people[i].age);
end;
最好使用动态数组,因为上面的代码假定文件中最多有100条记录。还没有检查文件是否实际包含“数字”记录。这些留给'作为读者的练习'。