Проблема с чтением и записью двоичных файлов, случайных или последовательных, для использования другими языками состоит в том, что система fortran io использует в файле другую информацию. Я не могу вспомнить, чтобы это было в стандарте f77, но, конечно, большинство компиляторов pc и unix сделали это.
Например, при записи в двоичный последовательный файл
write(bsf) doublevariable, realvariable
тогда файл будет содержать (если бы вы могли читать двоичный файл)
12<value of double><value of real>12
Каждая запись имеет маркеры записи, которые представляют собой длину в байтах того, что было записано в начале и в конце.
Это необходимо, потому что каждая запись может иметь разную длину и при чтении не нужно читать все, что было написано для записи.
Например, если вы читаете выше, у вас может быть
read(bsf) doublevariable
Следующее чтение bsf должно быть в начале следующей записи.
Таким образом, чтение или запись двоичных файлов для совместного использования с другими языками должно осуществляться через библиотеку, написанную на C, или любой другой язык, который не выполняет то, что делает Fortran,