Fortran写入插入2个换行符

时间:2016-04-26 19:11:20

标签: fortran fortran90 intel-composer

在一个简单的测试程序中,我在Fortran90中写字,字符串输出比屏幕长。使用标准写入()语句时,输出中的输出不是简单地添加新行并继续下一行,而是在继续输出之前添加第二个换行符。

示例代码:

write(*,*) "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

英特尔Visual Fortran Composer XE 2013 SP1输出:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

为什么会这样?这个额外的换行来自哪里?

1 个答案:

答案 0 :(得分:0)

通过使用 list-directed 输出(您使用*语句的参数中的第二个write,您可以放弃对输出格式的精确控制编译器编写者。使用特定格式抓住后退控件,例如write(*,'(a128)')(用适合您要编写的字符串长度的任何内容替换128)。看看会发生什么。

您可能会因为学习使用repeat函数来重复字符串而感到高兴。