0
截至目前,我檢查,如果iostat的大於0並重新打開文件更小,如果名稱列表找不到(這是真的很醜),即:Fortran語言:檢查名稱列表存在
read(100, nml=nm_tensor, iostat = ios)
if (ios < 0) then
close(100)
open(100, file="input_nm", status='old', action="read", iostat = ios)
end if
如何在閱讀文件之前檢查文件中是否存在名稱列表?當沒有名稱列表並且導致文件結束錯誤時,是否有更好的方法來恢復?
如果名稱列表不在你關閉並重新打開文件之前出現,爲什麼它應該在之後出現?如果你只是想知道你是否通過了名單,你可以在閱讀名單之前進行「REWIND」。 – chw21
在問題的第一部分,我想在完全閱讀之前檢查名單的存在。這樣我就不會拋出任何錯誤,這將更加優雅。 但是'REWIND'正是我在問題的第二部分尋找的內容,謝謝! :) – Johannes90
在閱讀文件之前,您無法確定文件中是否存在名稱列表或其他內容。爲了找到答案,必須先閱讀它。如果另一個進程正在寫入文件,倒帶將不會幫助您,除非文件被共享。如果另一個進程已經寫入文件,打開和關閉可能會起作用。 – cup