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に関する情報は誰も提供していません。
ありがとう。