File io Fortran 95:长头输出文件

File io Fortran 95:长头输出文件,file-io,fortran,output,fortran95,File Io,Fortran,Output,Fortran95,假设我想输出一个文件,该文件应该有一些固定的头行(即,独立于我的程序实现的计算),后跟代码生成的信息,例如: 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个随机浮动)。产生这种情况的一种方法是使用以下代码:

假设我想输出一个文件,该文件应该有一些固定的头行(即,独立于我的程序实现的计算),后跟代码生成的信息,例如:

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中存在这样的东西吗?有人能给我指出正确的方向吗?

你可以声明
字符(len=80),维度(1000)::行,然后有1000个语句
行(1)=“xyz”
,等等。然后有一个循环来写行。写作部分很简单。无法将原始文本嵌入到Fortran源代码中。。。您必须将其放入带有
数据
或赋值语句的变量中


对我来说,让代码读取一个标准文件,然后复制到输出文件会更容易。您可以使用一个环境变量来指定文件或其目录。

谢谢您的回答,事实上,数据语句解决了这个问题。我知道从一个文件读取然后输出到另一个文件会更容易,但在我的特殊情况下,这是不需要的,我真的更愿意只给用户一个可执行文件,而不给其他任何东西。再次感谢您的快速回复。