Как написать функцию (Intel) F90, которая преобразует строку в нижний регистр (или, альтернативно, в верхний регистр)? Я хочу передать массив символов в функцию и вернуть ему массив символов, например.
program main
implicit none
character*32 :: origStr = "Hello, World!"
character*32 :: newStr
newStr = to_lower(origStr)
write (*,*) newStr
end program main
таким образом, что эта программа выводит hello, world!
.
Я начал с подпрограммы to_lower()
, найденной в RosettaCode, но не могу понять, как записать ее как функцию.
Заранее спасибо!
PS -- Бонусные баллы, если вы можете сделать это со строкой нефиксированной длины!