次のコードを使用して C で読み取ることができるバイナリ ファイルがあります。
int it,ix;
double par1,par2,par3,par4,par5,par6;
fp = fopen("my_binary_file", "r");
assert(fp != NULL);
fscanf(fp, "%d %lf %lf %lf \n",&it, &par1, &par2, &par3);
fscanf(fp, "%d %lf %lf %lf \n",&ix, &par4 ,&par5,&par6);
このコードを使用して、Fortran 90 で同じファイルを読み取ろうとしました
real(kind=8):: par1,par2,par3,par4,par5,par6
integer :: it,ix
open(1,file='my_binary_file',form='unformatted')
read(1) it,par1,par2,par3
read(1) ix,par4,par5,par6
しかし、ファイルの終わりエラーが発生します。2行まとめて読んでみた
read(1) it,par1,par2,par3,ix,par4,par5,par6
何かを読みましたが、パラメーターが期待したものではありません。これは、間違ったバイトを読み取っているか、変数の宣言が間違っていることを意味します。あなたが助けることができると思いますか?