在delphi中等效于C ++(cin>> n)

时间:2017-11-03 12:06:16

标签: delphi

我需要从标准输入读取未知数量的整数。我知道在C ++中可以通过以下方式轻松实现:

while ( cin >> n )

有没有办法在Delphi中实现同样的目标?

1 个答案:

答案 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内置方法可以实现的更复杂。如果您可以列出任务的特定要求以提供可靠的解决方案,将会有所帮助。