Fortran中带有通配符的未格式化输出



我搜索了很长时间才问:我需要在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 运行时错误:未格式化数据传输的格式

谁能告诉我如何解决这个问题?

对于连接到文件以进行无格式 I/O 的设备,指定格式是非法的,就像在

write(10,'(i10)') nn

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

相关内容

  • 没有找到相关文章

最新更新