将大量值写入具有相同格式和换行符的文件

问题描述 投票:0回答:1

我想将多个值写入一个文件,所有值都具有相同类型(浮点型)。这通常很容易编写,因为我可以将“20(f10.3,1x)”作为写入所有值的格式。这里的问题是我想在某些值之间换行。我想要实现的一个例子是:

write(output_unit,*format goes here*) a1, a2, *line break*, a3, a4,&
      & a5, *line break*, a6, a7, a8, a9, a10, a11, *line break*, a12,&
      & a13, *line break*, ...

这里所有的变量都是相同的格式,但是换行符出现在不同的位置。请注意,这里的“a”不是数组。它们都是单独的变量。

有没有办法在格式部分添加换行符,而不必重复

'(f10.3,1x)'
20 次?

我知道我可以单独定义格式为

10 format(f10.3,1x)

但是我可以使用类似的东西吗

write(output_unit,2(10),'/',3(10),'/',...)

谢谢你。

fortran fortran90
1个回答
0
投票

g格式和new_line的组合:

program test
   character, parameter :: NL = new_line( 'A' )
   write( *, "( *(1x, g5.0) )" ) 1, 2, NL, 3, 4, 5, NL, 6, 7, 8, 9
end program test

输出:

 1     2     
 3     4     5     
 6     7     8     9
© www.soinside.com 2019 - 2024. All rights reserved.