Я пытаюсь писать двоичные файлы данных из фортрана, но я нахожу обычные файловые интерфейсы очень ограничивающими, интересно, есть ли в фортране функции компиляции POSIX.
Я нашел этот стандарт: IEEE 1003.9-1992, но я не знаю это, если полностью поддерживается большинством распространенных компиляторов (или если мне нужно активировать какие-либо флаги). Я не могу найти никакой практической информации, можете ли вы дать мне какое-либо предложение?
Кстати, я пытаюсь писать файлы изображений, сначала я хочу попробовать тга/пгм. Также я не хочу добавлять какие-либо зависимости к внешним библиотекам, спасибо!
Решение:
Наконец я смог написать файлы 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
Никто не предоставил никакой информации о POSIX в FORTRAN.
Спасибо.