Pascal 退出,退出代码=217
有人能帮我做以下程序吗?没有编译消息,但在运行时发生错误,消息退出,exitcode=217。 有什么问题吗 程序读取的文本如下所示 3.2 1 2 13 1 2 例如,其中3是n,因此程序必须执行3次,以便读取所有numPascal 退出,退出代码=217,pascal,freepascal,Pascal,Freepascal,有人能帮我做以下程序吗?没有编译消息,但在运行时发生错误,消息退出,exitcode=217。 有什么问题吗 程序读取的文本如下所示 3.2 1 2 13 1 2 例如,其中3是n,因此程序必须执行3次,以便读取所有num Program sth; Uses SysUtils; Var m:Integer; LowArr:Integer; HighArr:Integer; n,d:String; f:Text; TheArray,j:array of integer; a:array of ch
Program sth;
Uses
SysUtils;
Var
m:Integer;
LowArr:Integer;
HighArr:Integer;
n,d:String;
f:Text;
TheArray,j:array of integer;
a:array of char;
c:array of string[1];
v:String[1];
i:Integer;
Procedure thenum ;
Begin
repeat
Read (f,a[i]);
Write(a[i]);
until (a[i]=' ');
End;
Procedure sth ;
begin
while not seekEoln and eof(f) do
begin
read(f,j[i]);
Write(j[i]);
end;
End;
procedure space;
begin
Read(f,c[i]);
Write(c[i]);
end;
Procedure theprogram;
begin
thenum;
space;
sth;
end;
begin
Assign(f,'textfile.txt');
Reset(f);
repeat
Read (f,n);
Write(n);
until (n=' ');
Read(f,v);
Write(v);
while not seekEoln and eof(f) do
begin
read(f,d);
Write(d);
end;
StrToIntDef(n,m);
setlength(thearray,m);
LowArr:=Low(Thearray);
HighArr:=High(TheArray);
for i:= LowArr to HighArr do
theprogram;
if eof(f) then;
Close(f);
Readln;
End.
如果名为
textfile.txt
的文件与可执行文件不在同一目录中,您将获得exitcode 217
read(f,n);
将文件读入n
,直到行尾。然后它就会卡住。您需要一个readLN
来读取换行符
类似地,write(n)
将n
写入控制台,但不会有换行符;您需要writeln(n)
添加换行符
你的文件结构不是很清楚。空间很难看到。如果使用readln(f,n)
thenn
将包含读取的行的内容-如果要检测空行,则需要直到n=''代码>-引号之间没有空格
因为您没有为seekEoln提供参数,它在键盘上工作,而不是在文件上。您需要seekEoln(f)
查找文件中的行尾
继续努力,你会成功的。我建议您删除您的seekEoln
s,并小心阅读整行(readln)还是一个字符(read)非常感谢,您的帮助非常宝贵。