如何在Fortran中将字符串拆分为字符?

问题描述

我正在研究密码程序,在其中将ull放到文本中,它将把它转换成编码后的消息。我坚持并指出我不知道如何将len分割成单独的字符。甚至有可能吗?

解决方法

是的,您可以将字符串拆分为字符数组。如果chararray =“ abcdefg”,则可以有一个数组,例如ca(1)= chararray(1:1),ca(2)= chararray(2:2)... ca(7:7)= chararray(7)

,

这也可以使用iachar和achar函数在do循环中完成。

program test
character*7 :: stringin
integer     :: single_character

stringin = 'message'

do i = 1,len(stringin),1
    single_character = iachar(stringin(i:i))
    write(*,*) achar(single_character)
end do

end program

这将使用iachar创建字母的整数表示并将其转换为achar。如果使用数学表达式进行编码,这可能会有所帮助。

可以找到更多信息here