如何在 Fortran 90 中刷新标准输出?

How to flush stdout in Fortran 90?

我在网上看到很多关于使用 Fortran 中的 flush 函数刷新输出的信息。我想知道,特别是对于 Fortran 90,特别是对于 stdout,这应该采用什么形式作为一行代码放入我的代码中?

我的猜测是flush(*)

flush() 不是一个函数,而是一个非标准的内部子程序,因此在调用语句中被调用

 call flush(unit_number)

或 Fortran 2003 中的标准语句,因此作为语句调用

flush(unit_number)

通常,标准输出预先连接到单元 6,但为了确保您可以使用模块 iso_fortran_env 中的标准常量 output_unit(参见 Standard input and output units in Fortran 90?

这又需要 Fortran 2003。

请注意,现在几乎所有编译器都支持这些功能。但是如果你真的特别需要 26 岁的 Fortran 90,那么你必须查阅你的编译器手册,它为预连接的文件使用了哪些单元号。标准输出很可能是 6。