爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 9106|回复: 13

[求助] 读取和写入文件

[复制链接]

新浪微博达人勋

发表于 2011-9-8 17:44:05 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
我想一次读取文件名为1、2、3、……的文件,打开,读取,写入一个文件,如果不存在某个文件,则跳过,读取下一个文件,请问应该怎么做?
另外,文件中有类似“/”的东西,一读到这里程序就自动结束了。请问应该怎么办?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-9-8 17:46:44 | 显示全部楼层
用二进制读取!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2011-9-8 18:06:23 | 显示全部楼层
可以把所有的文件名写在一个文件里面,然后读到一个字符数组里面,下次打开的时候用
do i=1,number of files
open(1,file=filename(i))
do j=1,.........
......
close(1)
enddo

密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2011-9-8 18:26:01 | 显示全部楼层
楼上方法可用  看一下文件读写部分 有一个打开文件状态的东东 可以用来判断文件是否存在
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-9-9 08:11:05 | 显示全部楼层
                          filename=trim(adjustl(dir))//'KT'//trim(adjustl(bian))//'A'//trim(adjustl(ybdate))//'00'//trim(adjustl(ceng))//trim(adjustl(t))//'.grb'
                          inquire(file=filename,exist=alive)
                  if(.not.alive)then
                             open(12,file='error.txt',position='append')
                                    write(12,*)trim(adjustl(filename))// ' do not exist'
                                 close(12)
                          else
                             filename1=trim(adjustl(dir1))//trim(adjustl(bian))//trim(adjustl(ybdate))//'08.'//trim(adjustl(t))//'.dat'
                                 filename2=trim(adjustl(dir1))//trim(adjustl(bian))//trim(adjustl(ybdate))//'08.'//trim(adjustl(t))
                             open(11,file=filename,form="unformatted",access="direct",recl=33036)
                        call read0(11,ii,filename,filename1,filename2,int(lat_sta),int(lat_end),int(lon_sta),int(lon_end),scale,control_08)                      close(11)
                          endif

点评

谢谢共享: 5.0
不错不错,其实我也一直在找这个,很全面  发表于 2011-9-9 22:56
谢谢共享: 5
谢谢你这么辛苦写,我会仔细研究研究的。呵呵O(∩_∩)O~初学者,谢谢指教!  发表于 2011-9-9 09:21

评分

参与人数 1金钱 +3 收起 理由
mofangbao + 3 赞一个!

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-9-9 08:20:32 | 显示全部楼层
1、trim(adjustl(*)),*为变量部分,可以实现文件1、2、3等的读取;
2、inquire(file=filename,exist=alive)为检验文件是否存在的函数;

点评

谢谢共享: 5.0
谢谢共享: 5
不错哦,辛苦写了这么多  发表于 2011-9-9 08:41
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-9-9 08:56:58 | 显示全部楼层
刚好以前做过这样一个工作,只要能解决问题就好。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2011-9-9 09:19:46 | 显示全部楼层

谢谢哦,还没仔细看完,先谢谢。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2011-9-9 10:43:15 | 显示全部楼层
月见草心 发表于 2011-9-9 09:19
谢谢哦,还没仔细看完,先谢谢。

汗,加油加油吧
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-9-9 11:27:44 | 显示全部楼层
新小子好厉害,学习了!
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

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