FORTRAN 如何把十进制文件转化为二进制文件

FORTRAN 如何把十进制文件转化为二进制文件,第1张

如果是end of file encountered的错误,我猜是楼主的morlettxt数据不够,应该有1296行数据,楼主可以检查一下是不是不够。

另外还有一个问题,楼主把数据按二进制输出时,

open(2,file='D:\morletdat',form ='binary'

&,access='direct',recl=1)

这里recl=1可能不行,应该是4吧,因为一个实数缺省是4字节的。

fortran中能在子程序里用write语句。fortran语句含义这个是保存为f90格式的fortran程序,其中的$是换行符号,意思是接着下一行继续写。根据相关公开资料查询:DO10I=1,100I从1循环到100循环体到行号10为止,包含行号10。即10S=S+T内嵌循环DO20K=1,N20T=TK很明显是计算阶乘的WRITE(,100)((A(I,J),J=1,2),I=1,3)之一个星号表示使用默认输出设备,即显示器100表示输出格式为行号100的语句,100FORMAT(1X,2IFortran手册都有,后面((A(I,J),J=1,2),I=1,3)是输出内容,这些问题在IFortran入门上都有。

write(1111,"(3i4,f42)")NODE_CORD(I,1),NODE_CORD(I,2),NODE_CORD(I,3),NODE_ALPHA(I)

3i4和f42里面的数值根据你的数据而定,如果你的整数为个位数,且要空一格,则写3i2, f后面的数值4代表加上小数点一共显示几位,2代表其中包括的小数位。

'shot-blend1sgd'

难道不是txt文件么?你为啥要从txt读入,再写入txt呢?

写入txt文件是最简单的了。

Open( 12 , File = 文件名 )

Do i = 1 , 2000

write( 12 , ) Recd( : , i )

End Do

Close( 12 )

既可

- -数组声明好奇怪啊,为什么会出现假定形状数组?假定形状数组只能在子程序中作行参,你这里面又没有子程序。直接写 real,dimension(nlat,nlon,nz,nt)::pr 就可以了。

这个程序运行没有报错吗?没有报错的话至少应该生成一个dat才对。

可以先在写入文件之前把你读进来的数组print一下看看有没有正确地读入。

OPEN(UNIT=3,ACTION='write',FILE=filename,IOSTAT=erro,STATUS='new')

改为

OPEN(3,FILE=filename,IOSTAT=erro)

以上就是关于FORTRAN 如何把十进制文件转化为二进制文件全部的内容,包括:FORTRAN 如何把十进制文件转化为二进制文件、fortran中能在子程序里用write语句吗、Fortran向文件中写入数据的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10218419.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存