小编mft*_*mbn的帖子

编写很长的字符串时,Fortran 中的自动换行符

我在 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

5
推荐指数
2
解决办法
3507
查看次数

标签 统计

fortran ×1