我需要从标准输入读取未知数量的整数。我知道在C ++中可以通过以下方式轻松实现:
while ( cin >> n )
有没有办法在Delphi中实现同样的目标?
答案 0 :(得分:4)
这应该非常接近:
while not EoF do
Read(n);
您也可以编写自己的CIn函数来捕获任何错误的输入:
function CIn(out I: Integer): Boolean;
begin
Result := False;
if not EoF then begin
try
Read(I);
except
Exit;
end;
Result := True;
end;
end;
请注意,Read
仅在文件的行结尾或结尾可用时返回。因此,如果在一行中有多个整数,则在给出行结束时返回第一个整数。
我还应该提到C ++函数的行为比使用Delphi内置方法可以实现的更复杂。如果您可以列出任务的特定要求以提供可靠的解决方案,将会有所帮助。