Fortran Coder

查看: 13442|回复: 9
打印 上一主题 下一主题

[输入输出] IVF上fortran中利用read将字符串的数据赋给变量,出现NAN

[复制链接]

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

楼主
发表于 2021-11-9 08:44:36 | 显示全部楼层
read (string_line, '(3x,i4,17x,f14.8,1x,i5,1x,f15.13)') a, b, c, d
改为
character(len=1) :: x
read (string_line, *) x , a , x , b, c, d

在实际工作中,95%以上的情况下,read 用 * (表控格式)就足够了。
另外 3% 的情况下,不能直接用表控格式,但可以间接用表控格式代替。
剩下 2% 的情况,不得不用格式符read

事实上,格式符基本是为了 write 准备的。

回复

使用道具 举报

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

沙发
发表于 2021-11-9 14:11:28 | 显示全部楼层
不能提供能复现问题的最小程序,那就爱莫能助了。
回复

使用道具 举报

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

板凳
发表于 2021-11-9 14:12:57 | 显示全部楼层
律1234 发表于 2021-11-9 13:37
试过了,没用,四个数据,就第二个数据会出问题;整个大程序中还有另外一个地方也是读文件,出现同样的问 ...

我说的关于表控格式的建议,并不是希望解决你的问题。
而是告诉你,能用表控的话,不但代码书写简单,并且对数据格式的容许度最大。
(而不是多一个空格,少一个空格,结果就出错)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-3 15:22

Powered by Tencent X3.4

© 2013-2024 Tencent

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