我是非常新的使用文件,我真的很难解决这个问题,任何帮助都会很棒。 似乎错误来自我的读取数组函数但不完全 我当然也不确定104错误究竟意味着什么 提前谢谢
program ReadFromFile;
type
lineArray = array [0..19] of String;
procedure PrintArray(lines: lineArray);
var
i: Integer;
begin
for i:=0 to High(lines) do
begin
WriteLn('Text is: ', lines[i], ' Line number is: ', i);
end;
end;
function ReadArray(var myFile: TextFile):lineArray;
var
count : Integer;
lines : lineArray;
i: Integer;
begin
ReadLn(myFile, count);
for i := 0 to count do
begin
ReadLn(myFile, lines[i]);
end;
result := lines;
end;
procedure Main();
var
myFile: TextFile;
line: lineArray;
begin
AssignFile(myFile, 'mytestfile.dat');
ReWrite(myFile);
line:=ReadArray(myFile);
Close(myFile);
AssignFile(myFile, 'mytestfile.dat');
Reset(myFile);
PrintArray(line);
Close(myFile);
end;
begin
Main();
end.
答案 0 :(得分:4)
您不知道该错误的含义。我也不能脱离头顶。所以,让我们在文档中查找并找出答案。网络搜索将我们带到这里:https://www.freepascal.org/docs-html/user/userap4.html
文件未打开输入
如果文件未通过重置打开,则由Read,BlockRead,Eof,Eoln,SeekEof或SeekEoln报告。
您有来电以错误的方式打开文件。致电Reset
打开阅读,Rewrite
打开以供写作。
注意:
count
将执行count + 1
次迭代。我希望看到你从0循环到count - 1
。