爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
楼主: 凌晨24点

[求助] 求将DAT文件转换成TXT文件的fortran源程序代码

[复制链接]
发表于 2011-9-7 01:50:54 | 显示全部楼层
好久没来看看了,嘿嘿!
今天正好夜班,拿来研究下~~   哇~~还真研究出来东西了~!!o(∩_∩)o...

有两个方法:第一,直接改文件的后缀名!!!-_-! DAT改成TXT就成功了!!

呵呵,还是来看第二种方法~~
全部程序如下:
==========================================
        integer ios
        character*72 record
       
        open(1,file='c:\dat\zht.dat',status='old',iostat=ios)
        !!采用IOS记录,当执行OPEN语句不发生错误时,ios=0;
        !!若发生错误,则ios的值是一个由系统规定的正整数。
        if(ios.ne.0) then
                write(*,*) 'ERROR NO.',ios,'DURING OPEN FILE 1'
        endif
        open(2,file='c:\dat\3.txt',status='new',iostat=ios)
        if(ios.ne.0) then
                write(*,*) 'ERROR NO.',ios,'DURING OPEN FILE 1'
        endif

50        read(1,'(a)',iostat=ios) record    !!复制
        !!在不是OPEN的语句中,当操作正常结束时,ios=0;
        !!当操作出错时,其值为正整数;
        !!当碰上文件结束标志时,其值为负整数。
        if(ios.lt.0) then
                write(*,*) 'DONE!'
                goto 100
        elseif(ios.gt.0) then
                write(*,*) 'ERROR',ios,'ON UNIT 1'
                goto 100
        endif
       
        write(2,'(a)',iostat=ios) record    !!粘贴
        if(ios.ne.0) then
                write(*,*) 'ERROR',ios,'ON UNIT 1'
        endif

        goto 50    !!本方法采用逐个字符“复制”的方法
       
100        close(1)
        close(2)
        end
=====================================

      我做过实验,一般的DAT文件都可以顺利地转换,就算DAT里面含有中文的话,还是可以转换过来的。而且,两个文件的大小,字节数都一样。

    不过,如果DAT文件用记事本打不开的话,或者打开是乱码的话,那转换过来的TXT文件的大小会比DAT文件的大小差很多,而且,打开也是乱码,我也不知道怎么回事。

    言版主的程序中,我试过,没有成功,原因是我不知道dimension  wtr(n,m),wtm(n,m),wte(n,m)这个定义的是什么类型,如果什么都不用,就会直接输出随机数,定义成character wtr(n,m)*8,不管后面有没有*8,或者改成*1,*2,*4,*10,都试过,得出来的文件中,有大部分可以显示,而有小部分字会出现乱码。

    最后,想问楼主,有什么软件是能打开TXT文件,而不能打开DAT文件?

评分

参与人数 2金钱 +10 贡献 +4 收起 理由
言深深 + 5 + 2 嘿嘿,比我努力啊,赞一个
mofangbao + 5 + 2 还是感谢你的努力了

查看全部评分

密码修改失败请联系微信:mofangbao
0
早起挑战累计收入
发表于 2011-9-7 08:16:18 | 显示全部楼层
ouhuining 发表于 2011-9-7 01:50
好久没来看看了,嘿嘿!
今天正好夜班,拿来研究下~~   哇~~还真研究出来东西了~!!o(∩_∩ ...

貌似你做了无用功啦,txt和dat不是他们的本质区别,本质区别是内在的编码格式,dat如果是二进制编码,就没有通用的fortran转换程序了,如果本身就是ascii格式的,那直接改后缀就行了...
密码修改失败请联系微信:mofangbao
 成长值: 0
发表于 2011-9-7 09:12:54 | 显示全部楼层
ouhuining 发表于 2011-9-7 01:50
好久没来看看了,嘿嘿!
今天正好夜班,拿来研究下~~   哇~~还真研究出来东西了~!!o(∩_∩ ...

呵呵,谢谢你啦!之前有人做小波分析的时候输出结果dat格式,打开乱码,完了之后就写了那个程序能够顺利的读取出来并写进txt文件的,要是做不出来可能诚如mofangbao所言,应该是编码的问题了
密码修改失败请联系微信:mofangbao
发表于 2011-9-7 15:23:52 | 显示全部楼层
mofangbao 发表于 2011-9-7 08:16
貌似你做了无用功啦,txt和dat不是他们的本质区别,本质区别是内在的编码格式,dat如果是二进制编码,就没 ...

原来如此,不过也不算白努力,就几行程序而已,呵呵
密码修改失败请联系微信:mofangbao
发表于 2011-9-7 15:25:41 | 显示全部楼层
言深深 发表于 2011-9-7 09:12
呵呵,谢谢你啦!之前有人做小波分析的时候输出结果dat格式,打开乱码,完了之后就写了那个程序能够顺利的 ...

嘿嘿,以后有问题多指教~
密码修改失败请联系微信:mofangbao
 成长值: 0
发表于 2011-9-7 15:26:55 | 显示全部楼层
ouhuining 发表于 2011-9-7 15:25
嘿嘿,以后有问题多指教~

不敢当啊,互相学习吧
密码修改失败请联系微信:mofangbao
发表于 2011-9-7 15:31:03 | 显示全部楼层
言深深 发表于 2011-9-7 15:27
不敢当啊,互相学习吧

斑。。斑。。斑。。斑竹。。。至于回复5条吗。。
密码修改失败请联系微信:mofangbao
0
早起挑战累计收入
发表于 2011-9-7 16:07:29 | 显示全部楼层
ouhuining 发表于 2011-9-7 15:31
斑。。斑。。斑。。斑竹。。。至于回复5条吗。。

他网速不好 一直按了好多次,我删掉几条去
密码修改失败请联系微信:mofangbao
 成长值: 0
发表于 2011-9-7 16:47:55 | 显示全部楼层
密码修改失败请联系微信:mofangbao
发表于 2011-9-7 17:26:19 | 显示全部楼层
看来欧同学实在是太闲了
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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