如何在Fortran 90中刷新stdout?

Neu*_*tar 7 fortran fortran90

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

我的猜测是flush(*).

Vla*_*r F 15

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

 call flush(unit_number)
Run Code Online (Sandbox Code Playgroud)

或Fortran 2003中的标准声明,因此作为声明调用

flush(unit_number)
Run Code Online (Sandbox Code Playgroud)

通常,标准输出预先连接到单元6,但是为了确保您可以使用output_unit模块中的标准常量iso_fortran_env(请参阅Fortran 90中的标准输入和输出单元?)

这再次需要Fortran 2003.

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