Re: 請問Fortran有暫存檔嗎
※ 引述《zaoldeck (killua)》之銘言:
: 我所使用的是Fortran90,請問可以在Fortran執行中暫停後已經計算過的值會
: 暫存在哪邊呢?還是一定要整個程式都跑完他才會在我所輸出的檔案中
: 更新計算出來的值呢?
執行當中任一時點,計算的值當然是存在你宣告的變數和其他記憶體空間中,如
陣列等。你自己若不寫程式把他印出來,當然不會有什麼暫存檔。
如果你希望執行中可以在任何時間停止或繼續,可以用peekcharqq()/getcharqq(),
這兩個函數搭配可以直接讀取鍵盤緩衝區,使程式在不按鍵的時候不受打擾,但是
按下某些特定鍵的時候則會暫停,至於用哪一個鍵當然要由你來決定,印出目前結
果或儲存到暫存檔也要由你自己寫。例如可以設計成按下 ESC 的時候停止:
logical(4) pressed
character(1) key
...
pressed=peekcharqq()
if (pressed == true) then
key=getcharqq()
if (ichar(key) == 27) then
pauseroutine
end if
end if
...
這個pauseroutine當然要你自己寫成一個副程式,可以輸出類似這樣的訊息
Execution paused at iteration 1252 (5.1%)
To store current array contents, please give a filename
Empty input resumes execution
這裡再用一個read接收使用者輸入的檔名,其他就由你自己處理。
使用peekcharqq()/getcharqq()在Compaq Visual Fortran 必需在開頭加上
USE DFLIB,在Intel Visual Fortran Compiler則是USE IFCORE。我不清楚
g77或gfortran有沒有對應的函數。
--
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
我們要保證一切的利益都歸於國家與黨。
ˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍˍ
"Scarazin V1"
-- journeyman --
--
┌─────◆KKCITY◆─────┐ ◢╱ 只要你通過身份認證 ~ ◥█
│ bbs.kkcity.com.tw │ █▉─ 免經驗、五人連署即開班系板 ◥
└──《From:218.160.89.129 》──┘ ◥╲ 趕快為班上設個秘密基地吧! ◢
--
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章