24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1234  |  回复: 6

贺仪

铁杆木虫 (著名写手)


[交流] fortran 文件读取与写入问题。

大家好!最近写程序遇到一个比较奇怪的问题:由read读取完之后,在do循环内write写出的时候格式和文字显示是正确的。但是若在end do
后面再write输出就有问题了。以下是代码以及输出结果。write放在do循环里面得输出是S19,是正确的,而循环外面的那个只输出了S1,没有9了。这是怎么回事呢?期待高手解答!谢谢!
引用回帖:
do i= 1,natom
        read(301,332) atom,j,atomn(i),rname,nr,&
         & (coord(j,i),j=1,3),tmp,tmp,elemt(i)
         write(*,332) atom,j,trim(atomn(i)),rname,nr,&
        & (coord(j,i),j=1,3),tmp,tmp,elemt(i)
end do
  close(301)   

输出的是:
ATOM      4  S19 C91     1       0.600  -2.293  -0.171  0.00  0.00         
ATOM      4 C15  C91     1      -0.515  -9.800  -6.394  0.00  0.00         
ATOM      4  S19 C91     1      -3.613  -0.506  -1.445  0.00  0.00         
ATOM      4 C15  C91     1       2.933   0.963   5.719  0.00  0.00         
ATOM      4  S19 C91     1      -4.966   4.043  -1.252  0.00  0.00         
ATOM      4 C15  C91     1      -6.223  -3.564  -7.324  0.00  0.00         
ATOM      4  S19 C91     1      -9.197   5.822  -2.474  0.00  0.00         
ATOM      4 C15  C91     1      -2.510   7.390   4.536  0.00  0.00         
ATOM      4  S19 C91     1     -10.533  10.378  -2.333  0.00  0.00         
ATOM      4 C15  C91     1     -11.929   2.673  -8.250  0.00  0.00         
ATOM      4  S19 C91     1     -14.781  12.150  -3.504  0.00  0.00         

引用回帖:
do i= 1,natom         
read(301,332) atom,j,atomn(i),rname,nr,&
        & (coord(j,i),j=1,3),tmp,tmp,elemt(i)         
end do
       close(301)         
do i=1,natom  
      write(*,332) atom,j,trim(atomn(i)),rname,nr,&
        & (coord(j,i),j=1,3),tmp,tmp,elemt(i)
  end do

输出的是
ATOM      4  S1  C91     1       0.600  -2.293  -0.171  0.00  0.00         
ATOM      4 C15  C91     1      -0.515  -9.800  -6.394  0.00  0.00         
ATOM      4  S1  C91     1      -3.613  -0.506  -1.445  0.00  0.00         
ATOM      4 C15  C91     1       2.933   0.963   5.719  0.00  0.00         
ATOM      4  S1  C91     1      -4.966   4.043  -1.252  0.00  0.00         
ATOM      4 C15  C91     1      -6.223  -3.564  -7.324  0.00  0.00         
ATOM      4  S1  C91     1      -9.197   5.822  -2.474  0.00  0.00         
ATOM      4 C15  C91     1      -2.510   7.390   4.536  0.00  0.00         
ATOM      4  S1  C91     1     -10.533  10.378  -2.333  0.00  0.00         
ATOM      4 C15  C91     1     -11.929   2.673  -8.250  0.00  0.00         
ATOM      4  S1  C91     1     -14.781  12.150  -3.504  0.00  0.00         
ATOM      4 C15  C91     1      -7.955  13.814   3.349  0.00  0.00
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jerkwin

专家顾问 (正式写手)



小木虫: 金币+0.5, 给个红包,谢谢回帖
elemt(i)在哪里?
2楼2013-12-16 22:52:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jinwei331

至尊木虫 (文坛精英)


…………………………
3楼2013-12-16 23:27:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kapok963

金虫 (小有名气)



小木虫: 金币+0.5, 给个红包,谢谢回帖
是不是因为你已经读到文件的末尾了, 需要重新读这个文件的时候,就要设置从头读。
Rewind(unit),这个命令是把文件的读写位置倒回到文件开头的。
4楼2013-12-17 09:58:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chenxiankai

禁虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
本帖内容被屏蔽

6楼2014-05-19 14:22:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

学虫dj

金虫 (正式写手)



小木虫: 金币+0.5, 给个红包,谢谢回帖
看了半天, 真心不知道呀,明明是一样的
7楼2014-05-26 16:51:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
简单回复
sjmr12215楼
2013-12-17 10:31   回复  
相关版块跳转 我要订阅楼主 贺仪 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见