Функция возврата символа неизвестной длины

Как использовать символьную функцию, где результат изначально неизвестной длины?

trim() Функция, насколько я понимаю, показывает, что можно не указывать длину возвращаемой строки.

Например:

write (*,*) trim(str)

вернет только часть строки без завершающих пробелов.

Эта функция не имеет никакого представления о длине возвращаемой строки перед вызовом.

Или жеtrim() функция имеет ограничения?

На еще вариант, чтобы найти оригинальный кодtrim() функция.

Я нашел (Возвращение строки символов неизвестной длины в фортране) но это не ответ на мой вопрос.

Конечно, я хочу написать функцию, которая возвращает строку по целому числу.

Что-то вроде этого:

function strByInt(myInt)
...
write (strByInt,fmt) myInt; return
end function strByInt

somewhere else:

write (*,*) strByInt(50) ! will write '50'