Fortran Coder

查看: 8996|回复: 1
打印 上一主题 下一主题

[文件读写] 有两个问题:1文件中内容的替换;2数组换行的打印

[复制链接]

12

帖子

3

主题

0

精华

入门

F 币
73 元
贡献
48 点
跳转到指定楼层
楼主
发表于 2017-3-9 13:35:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.文件内容的替换
   问题概述:我在读取数据中,会遇到数据却测的情况,显示为“//////”,我想要把这些符号再碰到的时候换成“-999.9”,(目的是为了保证数组数据数量的一致性,后面计算的时候我碰到-999.9就直接剔除就行了)
我的程序:
[Fortran] 纯文本查看 复制代码
do k=1,linenum_max
        read(unit=num,FMT='(I5,X,F7.3)', IOSTAT=res), nouse, read_data(k,i) 
        if(res/=0)then
                  write(*,*)'-999.9'
            end if
                write(*,*),read_data(k,i)
      end do

      close(unit=num)
    end do

问题:输出的不是-999.9,请问怎么办

2.数组换行的问题
我要在新的文件中打印出一个read_data(k,i)的数组
[Fortran] 纯文本查看 复制代码
open(unit=12,file='windspeed.txt')
    do k=1,filenum_read
          do i=1,filenum_valid
            write(12,30)read_data(k,i)
          end do
        end do
  close(unit=12)
  30 format(60F7.3,/)]

但是现在打印出来全部在一列当中!!!我想要分列显示怎么办?
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

796

帖子

2

主题

0

精华

大宗师

F 币
3787 元
贡献
2266 点
沙发
发表于 2017-3-9 17:38:33 | 只看该作者
第一个问题:fortran对于读取文件中的“/”会有一点问题,这是因为斜杠有其他作用。一般先把斜杠替换掉,再去读取。替换,你可以自己写代码,也可以用其他编辑器;
第二个问题:http://fcode.cn/guide-45-1.html
[Fortran] 纯文本查看 复制代码
open(unit=12,file='windspeed.txt')
    do k=1,filenum_read
            write(12,30)read_data(k,1:filenum_valid)
        end do
  close(unit=12)
  30 format(60F7.3,/)
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-4-20 15:11

Powered by Tencent X3.4

© 2013-2024 Tencent

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