在输出中的每个字符串后添加一些空格

时间:2019-04-03 07:26:18

标签: text header fortran

我想在文件中写标题,但是当我执行以下操作时:

write(30,*) 'apple', 'ball', 'cat'
write(30,*) 'a', 'b', 'a', 'b', 'a', 'b'

我得到的输出标头为:

appleballcat               
ababab

但我需要:

apple ball cat         
a b a b a b

该怎么做?

2 个答案:

答案 0 :(得分:0)

您应该使用“ a”在a后面获得空格。不要用b来做,否则会得到2个空格。对苹果和猫也一样。您使用的是“苹果”,但您应该使用“苹果”。

答案 1 :(得分:0)

有几种方法可以在每个“单词”之后添加一个空格,例如...

!! no space may be given between words
write(30,*) 'apple', 'ball', 'cat'
write(30,*) 'a', 'b', 'a', 'b', 'a', 'b'

!! "*" indicates an unlimited repeat count   
write(30,'(*(A,1X))') 'apple', 'ball', 'cat'
write(30,'(*(A,1X))') 'a', 'b', 'a', 'b', 'a', 'b'

!! ":" terminates format control if there are no more items in the I/O list    
write(30,'(*(A : 1X))') 'apple', 'ball', 'cat'
write(30,'(*(A : 1X))') 'a', 'b', 'a', 'b', 'a', 'b'

!! for old compilers (1000 is some large number)    
write(30,'(1000(A,1X))') 'apple', 'ball', 'cat'
write(30,'(1000(A,1X))') 'a', 'b', 'a', 'b', 'a', 'b'

提供了(使用gfortran-8.2)

 appleballcat
 ababab
apple ball cat
a b a b a b
apple ball cat
a b a b a b
apple ball cat
a b a b a b

它们对于打印包含在字符数组等中的单词可能很有用。例如,可以在Format Specifications页中找到更多详细信息。