我在 fortran 中有一个字符串,我在循环中扩展:
character(:), allocatable :: string
...
do i = 1, n
string = string // "some stuff depending on i"
end do
Run Code Online (Sandbox Code Playgroud)
只要字符串小于 80 个字符,就可以正常工作。当达到 80 个字符时,字符串中会包含一个换行符。
有谁知道为什么会发生这种情况以及是否有机会避免这种情况?
我有以下完整示例:
program string
implicit none
character(:), allocatable :: long_string
character(:), allocatable :: line
integer :: i
character(8) :: idx
line = " This is line number: "
long_string = "First line" // NEW_LINE('A')
do i = 1, 3
write(idx, "(I8)") i
long_string = long_string // line // adjustl(trim(idx)) // NEW_LINE('A') …Run Code Online (Sandbox Code Playgroud) fortran ×1