【发布时间】:2014-03-19 23:46:36
【问题描述】:
假设我想输出一个文件,该文件应该有一些固定的标题行(即独立于我的程序实现的计算),然后是我的代码生成的信息,例如:
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Morbi ut est in augue rhoncus lobortis.
0.10, 0.31, 0.73
0.34, 0.64, 0.27
前两行始终相同,但后两行由代码给出(为了本示例,将它们视为 6 个随机浮点数)。产生这种情况的一种方法是使用以下代码:
[...]
open(unit=11,file="output.TXT")
write(11,*) "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
write(11,*) "Morbi ut est in augue rhoncus lobortis."
write(11,*) x(1,1:3)
write(11,*) x(2,1:3)
[...]
由于提到的标题只有两行,所以这种方法效果很好。现在假设标题有 1000 行长。这种方法显然不会是解决这个问题的最好方法。另一方面,可以创建一个名为output.TXT的文件,在上面写上标题,然后通过以下语句打开它:
[...]
open(unit=11,file="output.TXT",position="APPEND")
[...]
这将确保 Fortran 输出将写在标头之后。
现在,我想找到一种方法(如果存在这样的方法),可以处理如此大的标题,而不必向用户提供文件output.TXT。换句话说:我希望能够将标头信息存储在我的代码中,然后将其输出到提到的文件中,但要通过费力的write(11,*) "text line 1"、write(11,*) "text line 2" 等其他方法来完成。
Fortran 中是否存在这样的事情?谁能指出我正确的方向?
【问题讨论】:
标签: file-io fortran output fortran95