作者linccit (bean)
站内Fortran
标题[请益] 请教高手,为何输出二进位资料时档案会多出位元(window环境)
时间Sat Apr 10 13:08:44 2010
请教各位高手,我将Linux底下执行的程式转为Window资料输出时
资料变多
情况如下:
nx=301
ny=201
open(21,file=output,form="unformatted",recl=nx*ny*4)
输出一个区段,也就是输出时rec=1
於Linux下输出时档案大小为242004(301*201*4)位元组,读取档案正常。
但是在Window底下时(用Compaq Visual Fortran 6)时
nx=301
ny=201
open(21,file=output,form="unformatted",recl=nx*ny)--------我知道这里要改
执行完输出,档案却变成242012(242004+8)位元组
真是见鬼了,我怎麽想也想不出所以然。
当然我也不信邪,将输出的矩阵改小
但是都的到相同结果
如:
输出100*100矩阵
100*100*4+8
输出10*10矩阵
10*10*4+8
都会多出来8位元组
不知道各位专家是否有在使用Compaq Visual Fortran 6所有相同情形的。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.30.46.1
1F:→ blc:指定一下 access="direct"。这可能是编译器预设的不同。 04/12 12:46
2F:→ blc:+8表示出来的是sequence binary,direct binary不会有。 04/12 12:47
3F:→ linccit:谢谢blc大大的回答,这个问题困扰了我一年多,没有您的回 04/12 19:25
4F:→ linccit:答,想必会困扰我一生 04/12 19:26
5F:推 yhd:fortran 95 标准中,读写binary 可以使用access="stream" 04/15 03:02