Извинения за довольно простой вопрос, я просто не могу найти ЛЮБОЙ хороший fortran docs.Возвращаемая строка символов неизвестной длины в fortran
Я пытаюсь написать функцию, которая считывает из блока, обрезает вывод и присоединяет нуль-терминатор, что-то вроде:
character(*) function readCString()
character*512 str
read(1, *) str
readCString = TRIM(str)//char(0)
return
end function readCString
Однако, я знаю, что это еще не работает компилирует. В последнее время недостатки сегментации не были моим другом. Без «характер (*)» до функции ключевого слова он не будет компилировать, и с любым значением вместо звезды также влезает, скорее всего, потому что:
TRIM(str)//char(0)
не такой же длины, как число I вместо звезды. Я очень новичок в fortran, но пытаюсь связать некоторый код fortran с C (отсюда и нулевой терминатор).
Спасибо за любую помощь.