作者prolog (波卡)
看板Fortran
標題[問題] BINARY檔案讀寫
時間Sat Oct 6 04:37:58 2012
用FORTRAN把MATLAB輸出的二進位檔案 單純的讀進去再寫成另一個檔
但卻發生怪事 內容有點改變
首先長度假設本來是3,000,000點 重新寫出的檔案會多2點
我是因為使用MINVAL及MAXVAL發現最小值怎麼改變了才發現
最大值沒有變
程式碼大概如:
DO ID=0,0
WRITE (FNAME(1:21),'(A17,1H.,I3.3)') './xmodel/vmodelRI', ID
OPEN (27, FILE=FNAME,status='old',FORM='UNFORMATTED')
READ(27) para
CLOSE(27)
WRITE (FNAME(1:21),'(A17,1H.,I3.3)') './zmodel/vmodelRI', ID
OPEN (28, FILE=FNAME,status='replace',FORM='UNFORMATTED')
WRITE(28) para
CLOSE(28)
END DO
就是沒辦法把xmodel裡的檔案寫一份一樣的到zmodel
請問這是甚麼原因呢?
感謝回答!
環境是linux ifort 可執行
f95編譯會過 但會出現Fortran runtime error:
Unformatted file structure has been corrupted
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.20.157
1F:推 perturb:change 'UNFORMATTED' to 'BINARY' and try again 10/06 19:48
2F:→ prolog:改成binary後只剩ifort能編譯 但是檔案變正常了!感謝! 10/06 20:58