- 积分
- 769
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-7-6
- 最后登录
- 1970-1-1
|
发表于 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文件?
|
评分
-
查看全部评分
|