我试图逐行读取一个长度超过255个字符的行。我不被允许通过char读取它,我被粘贴到免费pascal编译器的标准设置。 我能做些什么来实现这一目标?它甚至可能吗?我读了一些关于使用blockread的提示,但是我无法找到足够的信息来了解它是如何完成的。
我愿意接受任何建议,只要他们符合我的限制。
非常感谢您提前 干杯 -gladston3
答案 0 :(得分:2)
我不太明白这个问题。这有效(Windows 7上的Lazarus / FreePascal):
program Project1;
const
FileName = 'test.txt';
procedure WriteLongLines;
var
S: string;
T: Text;
begin
S := StringOfChar('#', 350);
Assign(T, FileName);
Rewrite(T);
Writeln(T, S);
Writeln(T, S);
Writeln(T, S);
Close(T);
end;
var
T: Text;
S: string;
begin
WriteLongLines;
Assign(T, FileName);
Reset(T);
while not EOF(T) do
begin
Readln(T, S);
Writeln(Length(S), ' ', S);
end;
Readln;
end.
行的长度为350个字符(即> 255)。可以毫无问题地阅读它们。我没有改变任何标准设置。
Lazarus v1.6 from 2016-02-14,FPC 3.0.0。
在OS X上试过它。工作正常。 它在Ubuntu 16.04中也可以正常工作。
嗯...不要告诉我你使用短串(最多255个字符)?