[請益] 請教高手,為何輸出二進位資料時檔案會多出位元(window環境)

看板Fortran作者 (bean)時間14年前 (2010/04/10 13:08), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串1/1
請教各位高手,我將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

04/12 12:46, , 1F
指定一下 access="direct"。這可能是編譯器預設的不同。
04/12 12:46, 1F

04/12 12:47, , 2F
+8表示出來的是sequence binary,direct binary不會有。
04/12 12:47, 2F

04/12 19:25, , 3F
謝謝blc大大的回答,這個問題困擾了我一年多,沒有您的回
04/12 19:25, 3F

04/12 19:26, , 4F
答,想必會困擾我一生
04/12 19:26, 4F

04/15 03:02, , 5F
fortran 95 標準中,讀寫binary 可以使用access="stream"
04/15 03:02, 5F
文章代碼(AID): #1Bm0VUbX (Fortran)
文章代碼(AID): #1Bm0VUbX (Fortran)