看板 Fortran 關於我們 聯絡資訊
請教各位高手,我將Linux底下執行的程式轉為Window資料輸出時 資料變多 情況如下: nx=301 ny=201 open(21,file=output,form="unformatted",recl=nx*ny*4) 輸出一個區段,也就是輸出時rec=1 於Linux下輸出時檔案大小為242004(301*201*4)位元組,讀取檔案正常。 但是在Window底下時(用Compaq Visual Fortran 6)時 nx=301 ny=201 open(21,file=output,form="unformatted",recl=nx*ny)--------我知道這裡要改 執行完輸出,檔案卻變成242012(242004+8)位元組 真是見鬼了,我怎麼想也想不出所以然。 當然我也不信邪,將輸出的矩陣改小 但是都的到相同結果 如: 輸出100*100矩陣 100*100*4+8 輸出10*10矩陣 10*10*4+8 都會多出來8位元組 不知道各位專家是否有在使用Compaq Visual Fortran 6所有相同情形的。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.30.46.1
blc:指定一下 access="direct"。這可能是編譯器預設的不同。 04/12 12:46
blc:+8表示出來的是sequence binary,direct binary不會有。 04/12 12:47
linccit:謝謝blc大大的回答,這個問題困擾了我一年多,沒有您的回 04/12 19:25
linccit:答,想必會困擾我一生 04/12 19:26
yhd:fortran 95 標準中,讀寫binary 可以使用access="stream" 04/15 03:02