2016-05-26 143 views
3

我在網上看到很多關於在Fortran中使用flush函數來刷新輸出的信息。我想知道,特別是對於Fortran 90,特別是對於stdout,這應該採用什麼形式作爲一行代碼放入我的代碼中?我的猜測是flush(*)如何在Fortran 90中刷新stdout?

回答

10

flush()不是一個函數,但無論是非標準的內建子進程,因此在調用語句

call flush(unit_number) 

或在2003年的Fortran標準語句調用,因此調用作爲語句

flush(unit_number) 

通常,標準輸出被預連接到單元6,但可以肯定可以從模塊iso_fortran_env使用標準的恆定output_unit(見Standard input and output units in Fortran 90?

這又需要Fortran 2003.

請注意,現在幾乎所有的編譯器都支持這些功能。但是,如果您確實需要26歲的Fortran 90,那麼您必須查閱編譯器的手冊,瞭解它用於預連接文件的單元編號。標準輸出很可能是6。