从文件行读取所有数字
Read all the numbers from line of file
在 data.txt
的第一行我有两个数字由 space 分隔。
如何读取/输出到屏幕上的每个数字?
到目前为止,这是我的代码,它只读取该行的第一个数字。
program p1;
uses crt;
const filename = 'data.txt';
var
cv : integer;
myfile: text;
i,sum:integer;
begin
i:=0;
sum:=0;
Assign(myfile, filename);
Reset(myfile);
while not (Eof(myfile)) do
begin
while not eoln(myfile) do begin
Readln(myfile, cv);
Writeln(cv);
end;
end;
close(myfile);
end.
这是我的 data.xt
文件:
4 10
250
350
400
1000
我无法到达第一行的 10
,
有很多方法可以做到这一点,但最接近您已有的方法是删除内部循环并使用 READ 而不是 READLN。像这样:
program p1;
uses crt;
const filename = 'data.txt';
var
cv : integer;
myfile: text;
begin
Assign(myfile, filename);
Reset(myfile);
while not (Eof(myfile)) do begin
Read(myfile, cv);
Writeln(cv);
end;
close(myfile);
end.
在 data.txt
的第一行我有两个数字由 space 分隔。
如何读取/输出到屏幕上的每个数字?
到目前为止,这是我的代码,它只读取该行的第一个数字。
program p1;
uses crt;
const filename = 'data.txt';
var
cv : integer;
myfile: text;
i,sum:integer;
begin
i:=0;
sum:=0;
Assign(myfile, filename);
Reset(myfile);
while not (Eof(myfile)) do
begin
while not eoln(myfile) do begin
Readln(myfile, cv);
Writeln(cv);
end;
end;
close(myfile);
end.
这是我的 data.xt
文件:
4 10
250
350
400
1000
我无法到达第一行的 10
,
有很多方法可以做到这一点,但最接近您已有的方法是删除内部循环并使用 READ 而不是 READLN。像这样:
program p1;
uses crt;
const filename = 'data.txt';
var
cv : integer;
myfile: text;
begin
Assign(myfile, filename);
Reset(myfile);
while not (Eof(myfile)) do begin
Read(myfile, cv);
Writeln(cv);
end;
close(myfile);
end.