我想创造这个"简单"从文件A读取字符(或行)并将它们复制到文件B中的程序。在B中,每行上只有20个字符。以下是我到目前为止的情况:
var t,tt : text;
i : integer;
s : string;
begin
assign(t,'a.txt');
assign(tt,'b.txt');
reset(t);
rewrite(tt);
i:=0;
while not eof(t) do
begin
i:=i+1;
if eoln(t) then readln(t);
read(t,s[i]);
if i=20 then
if eof(t) then break
else
begin
writeln(tt,s);
i:=0
end;
end;
write(tt,s);
close(t);
close(tt);
end.
我尝试了一些变体,比如读入char然后复制到字符串中,但没有一个正常工作。通常它只在B中创建空行。我确定必须有其他方法来做到这一点,但我最好对这段代码中的错误感到好奇。
答案 0 :(得分:1)
好的,所以它终于开始工作,但我发送解决方案的服务器将其标记为错误..无论如何,如果有人感兴趣的话,这里是最终的代码可以在我的PC上运行。谢谢你的提示。
var t,tt : text;
i,k : integer;
s,x : string;
begin
assign(t,'a.txt');
assign(tt,'b.txt');
reset(t);
rewrite(tt);
i:=0;
while not eof(t) do
begin
i:=i+1;
if eoln(t) then readln(t,x);
read(t,s[i]);
if i=20 then
if eof(t) then break
else
begin
for k:=1 to 19 do
write(tt,s[k]);
writeln(tt,s[20]);
i:=0
end;
end;
for k:=1 to i do
write(tt,s[k]);
close(t);
close(tt);
end.