刘大铭 发表于 2018-11-21 11:17:57

新手求助一个关于read的问题

有一个数据文本需要用Fortran来read里面的数据然后处理,这个文本每行有481个数,我用数组读取它会有以下问题,
如果默认格式读取,如下
read(unit_,*) TIME,(P(i,j),j=1,480)

变量是成功被赋值的。
如果用格式化读取,如下
read(unit_,‘(a8,480f8.3)’) TIME,(P(i,j),j=1,480)
发现数组p没有被赋值,全是零
文本文件是由excel转化过来了,制表符分隔,

我想问一下出现这个问题的原因,谢谢啦

vvt 发表于 2018-11-21 13:02:05

本帖最后由 vvt 于 2018-11-21 13:04 编辑

能用表控格式读取的数据,一律不要用格式读取。
明明是一个自由的房间,你非要给自己下一些套,还要问:“为什么被套住了挺疼的?”

还有,你可以这样写
read(unit_,*) TIME ,P(i,:)


Fortran非常简单,能简单就不要写复杂了。

刘大铭 发表于 2018-11-25 14:58:25

好的,就是想知道原因是什么,比较好奇。谢谢您

vvt 发表于 2018-11-25 21:27:22

原因就是你写的格式和实际文件内容不符
页: [1]
查看完整版本: 新手求助一个关于read的问题