Fortran Coder

楼主: 阿_玮
打印 上一主题 下一主题

[文件读写] 求助大佬们,这段程序read的.txt文件的格式应该是什么样的...

[复制链接]

81

帖子

0

主题

0

精华

专家

F 币
471 元
贡献
232 点

规矩勋章新人勋章元老勋章

QQ
楼主
发表于 2022-7-23 18:34:13 | 显示全部楼层
本帖最后由 青衣巷 于 2022-7-23 19:21 编辑

你有源代码,改成
[Fortran] 纯文本查看 复制代码
INTEGER NX,NY
REAL*8 XE1,YE1
REAL*8, ALLOCATABLE :: H(:,:)

OPEN(1,FILE="SUR.TXT")
                READ(1,*) NX,NY,XE1,YE1,DX,DY
                ALLOCATE(H(0:NX-1,0:NY-1))
                DO I=0,NX-1
                        READ(1,*) H(I,:)
                ENDDO
                READ(1,*) B,C,K        
        CLOSE(1)
DXR=XE1/(NX-1)
DYR=YE1/(NY-1)

就简单多了。

大部分时候,read都不需要指定格式。

彼岸,有永恒的守候...

81

帖子

0

主题

0

精华

专家

F 币
471 元
贡献
232 点

规矩勋章新人勋章元老勋章

QQ
沙发
发表于 2022-7-25 14:11:36 | 显示全部楼层
zjk0112 发表于 2022-7-25 10:29
你这个I = 0,NX-1容易数组越界。你这不是C。Fortran这么干,经常在intel的编译器不报错,在别的编译器就 ...

这个代码段是楼主给出来的。我没有修改其数组下限。

我也很少用0做为下限,的确不应该用C的逻辑来考虑Fortran的问题。

但即便这么做了,用了0做为下限,控制得当的话,也可以有效避免越界问题。这不是Fortran的缺陷。
当你用0做为下限,而越界了。应该首先考虑是否是自身的问题。而不是得出结论,说Fortran不要这么做。
彼岸,有永恒的守候...
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-11-1 07:13

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表