以下程序打开一个文件,将第一行中存在的前两个字符串读入两个变量。问题是我一直试图看看下面的程序有什么问题,但我不明白为什么它不起作用。 编译器编译它没有任何问题,但是当我运行它时,它说退出exitcode 2。 问题是该文件存在。 什么似乎是问题? 谁能帮帮我吗? 代码如下。
Program num;
Var
f: Text;
b, g: String;
c: String[1];
Procedure thenum (a:String);
Begin
Assign(f,'textfileoffile.txt');
Reset(f);
a := 'A';
while not eof(f) and (a <> ' ') do
begin
Read (f,a);
End;
Writeln(a);
End;
Procedure sth ( j:String);
begin
Assign(f,'textfileoffile.txt');
Reset(f);
j:='A';
while not seekEoln and eof(f) do
begin
read(f,j);
end;
Writeln(j);
End;
begin
Assign(f,'textfileoffile.txt');
repeat
Reset(f);
until eof(f);
thenum(b);
read(f, c);
sth (g);
if eof(f) then
Close(f);
Readln;
End.
答案 0 :(得分:1)
我认为问题是,你多次打开同一个文件
repeat
Reset(f);
until eof(f);
并且你在程序中打开这个文件,我认为你必须使用f作为你的函数的参数,不要再打开它,或者使它全局化