私はfortranの初心者です。
Microsoft Developer Studio 4.0 を使用してプログラムを作成し、バイナリ ファイルを作成しました。次のように開きます。
OPEN(2,FILE='output_bin.bin',FORM='UNFORMATTED')
私はそれに配列を書き込み、INTEGER*2 IHIST(30)
現在は0から29までの数字で埋められています。書き込みは次のように行われます:
DO 351 J=0,29
WRITE(2) IHIST(J)
351 CONTINUE
Windows では、生成されたバイナリ ファイルを読み取ることができます。アレイを回復できます。
次に、Ubuntuで読みたいと思います。ここで、私の問題が発生Fortran runtime error: End of file
します。次の操作を行うと、 が発生します。
INTEGER*2 RBIN(30)
WRITE(*,*)'Extracting data from binary file ', filename
OPEN(3,FILE=filename,FORM='UNFORMATTED',ACTION='READ'
+ ,STATUS='OLD')
DO 17 I=0,29
READ(3) RBIN(I)
17 CONTINUE
シーケンシャルでフォーマットされていないバイナリファイルを読み取る方法を誰かに説明してもらえますか? 私は何を間違っていますか?次の読書の開始位置は、後者の終わりになると思いました。
GNU Fortran (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 を使用して Ubuntu 12.04 でコンパイルしています。