| 
 
	积分28596贡献 精华在线时间 小时注册时间2011-6-29最后登录1970-1-1 
 | 
 
| 
本帖最后由 freekiller 于 2014-8-1 12:34 编辑
x
登录后查看更多精彩内容~您需要 登录 才可以下载或查看,没有帐号?立即注册 
  
 程序很简单,读取一个数然用成binary和unformatted写出, 最后读取屏幕显示
 
 program   testbinandunformatted
 implicit none
 
 real(kind=8)               :: a(100)
 integer                       :: i, j, rl, rc
 real(kind=8)               :: f1(100),f2(100),f3(100),f4(100)
 
 a= 10.000
 ! open file and write
 open(12,file="a.bin",form="binary",access='direct',recl=8)
 open(13,file="b.bin",form="unformatted",access='direct',recl=8)
 rl = 0
 do i = 1, 100
 rl = rl + 1
 write(12,rec=rl)  a(i)
 write(13,rec=rl)  a(i)
 end do
 
 close (12)
 close (13)
 ! open the exist file and read
 
 open(14,file="a.bin",form="binary",     access='direct',recl=8)
 open(15,file="b.bin",form="unformatted",access='direct',recl=8)
 
 rc = 0
 do j = 1, 100
 rc = rc + 1
 read(14,rec=rc) f1(j)
 read(15,rec=rc) f2(j)
 write(6,*) j, f1(j), f2(j)
 end do
 stop
 end
 
 程序运行结果:
 
 
   
 
 文件排列方式(可以用ultraedit查看)
 binary
 
  unformatted 
   
 
 文件大小
 
 
   
 
 binary作为一种非标准的二进制格式,与unformatted的排列有着一定的区别。数据的大小、读取方式与写入数据的类型有一定的关系。这也是为什么二进制文件在不知道格式的情况下难以正确的原因。
 
 仅供参考,欢迎拍砖。
 
 
 
 
 | 
 |