在一个简单的测试程序中,我在Fortran90中写字,字符串输出比屏幕长。使用标准写入(,)语句时,输出中的输出不是简单地添加新行并继续下一行,而是在继续输出之前添加第二个换行符。
示例代码:
write(*,*) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
英特尔Visual Fortran Composer XE 2013 SP1输出:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
为什么会这样?这个额外的换行来自哪里?
答案 0 :(得分:0)
通过使用 list-directed 输出(您使用*
语句的参数中的第二个write
,您可以放弃对输出格式的精确控制编译器编写者。使用特定格式抓住后退控件,例如write(*,'(a128)')
(用适合您要编写的字符串长度的任何内容替换128)。看看会发生什么。
您可能会因为学习使用repeat
函数来重复字符串而感到高兴。