在Fortran中使用外卡的未格式化输出

时间:2015-06-20 20:19:33

标签: fortran wildcard fortran90

在我问之前,我已经搜索了很长时间:我需要在Fortran中向Ensight输出大量未格式化的文件。我想用geo.000000,geo.000001 ... geo.0001000命名它们。以下是我如何处理外卡:

character(54) :: filename, temp 
character(80) :: buffer
write(temp,'(i6.6)') step
filename = '/Users/jiecheng/Documents/SolidResults/solid.geo'//trim(temp) 
open(10,file=filename,form='UNFORMATTED')
open(10,file=filename,form='UNFORMATTED')
buffer = 'Fortran Binary'
write(10) buffer
buffer = 'Ensight Model Geometry File'
write(10) buffer

write(10,'(i10)') nn
write(10,'(i10)') node_id
do i=1,3
    write(10,'(E12.5)') sngl(coords1(i,:))
end do

然后我

  

Fortran运行时错误:UNFORMATTED数据传输的格式

有人可以告诉我如何解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

对于连接到未格式化I / O文件的单元,指定格式是非法的

write(10,'(i10)') nn

将未写格式文件的值写入机器内存(二进制)表示(可能发生某些转换),而不是人类可读文本。因此,格式规范没有任何意义。