我正在尝试从 fortran 编写二进制数据文件,但我发现常规文件接口非常有限,我想知道 Fortran 是否具有 POSIX 编译功能。
我找到了这个标准:IEEE 1003.9-1992,但我不知道大多数常见编译器是否完全支持它(或者我是否必须激活任何标志)。我找不到任何实用信息,您能给我一些建议吗?
顺便说一句,我正在尝试编写图像文件,首先我想尝试使用tga/pgm。另外我不想向外部库添加任何依赖项,谢谢!
解决方案:
最后我可以写ppm 文件了,我不得不避免在内部循环结束时打印换行符,最终代码是这样的:
subroutine imgwrite()
implicit none
* ******************************************************************
include 'image.f'
* ******************************************************************
integer x, y, i
write(imgunit, '(A)') 'P3'
write(imgunit, '(I4)') imgwidth
write(imgunit, '(I4)') imgheight
write(imgunit, *) 255
do 10 y=1, imgheight
do 20 x=1,imgwidth
write(imgunit,100) (int(imgpixels(x,y,i)*255D0), i=1,3)
20 continue
write(imgunit,110)
10 continue
100 FORMAT(3(I4),$)
110 FORMAT((/))
return
end
没有人在 FORTRAN 中提供有关 POSIX 的任何信息。
谢谢。