Pascal:读取多行文本文件
Pascal: Reading a text file with multiple lines
我是计算机科学专业的一年级学生,正在努力学习基本程序...
我有一个输入文件:
aa bb cc dd
程序:
program readingas;
var df:text; i,j,k,x,wc:integer; A,B,C:array[1..255]of string; IPavad:string;
begin
assign(df,'duom.txt');reset(df);
wc:=1;
k:=1;
while not eof(df) do
begin
readln(df,A[wc]);
wc:=wc+1;
end;
for i:=1 to wc-1 do
begin
for j:=1 to length(A[i]) do
if A[i][j]=' ' then k:=k+1 else B[k]:=B[k]+A[i][j];
end;
close(df);
for x:=1 to k do
begin
writeln(B[x]);
end;
readln;
end.
输出文件如下所示:
aa
bbccdd
当我想要它时:
aa
bb
cc
dd
如何一次输出每对字符?
这个:
B[k]:=B[k]+A[i][j];
是一种连接,如果没有行之间的文本包含 space,则将所有文本连接在一起。这些行被跳过。
所以这看起来很正常。可能您想在两种情况下都增加 K 跳过。
var b :boolean
while not eof(df) do
begin
readln(df,s);
b:=true;
for j:=1 to length(s) do
if s[j]=' ' then b:=false;
if b then
writeln(s);
end;
也会这样做。您可以使用
在大多数编译中删除整个循环
if Pos(' ',s)=0 then
writeln(s)
甚至。
我是计算机科学专业的一年级学生,正在努力学习基本程序...
我有一个输入文件:
aa bb cc dd
程序:
program readingas;
var df:text; i,j,k,x,wc:integer; A,B,C:array[1..255]of string; IPavad:string;
begin
assign(df,'duom.txt');reset(df);
wc:=1;
k:=1;
while not eof(df) do
begin
readln(df,A[wc]);
wc:=wc+1;
end;
for i:=1 to wc-1 do
begin
for j:=1 to length(A[i]) do
if A[i][j]=' ' then k:=k+1 else B[k]:=B[k]+A[i][j];
end;
close(df);
for x:=1 to k do
begin
writeln(B[x]);
end;
readln;
end.
输出文件如下所示:
aa
bbccdd
当我想要它时:
aa
bb
cc
dd
如何一次输出每对字符?
这个:
B[k]:=B[k]+A[i][j];
是一种连接,如果没有行之间的文本包含 space,则将所有文本连接在一起。这些行被跳过。
所以这看起来很正常。可能您想在两种情况下都增加 K 跳过。
var b :boolean
while not eof(df) do
begin
readln(df,s);
b:=true;
for j:=1 to length(s) do
if s[j]=' ' then b:=false;
if b then
writeln(s);
end;
也会这样做。您可以使用
在大多数编译中删除整个循环 if Pos(' ',s)=0 then
writeln(s)
甚至。