我想将换行符存储在我的字符缓冲区变量buff
中。到目前为止,我的代码是这样的:
program TYPE_CHECK
c newline storage in buffer
character(100), dimension(10) :: buff
integer, dimension(10) :: x
integer :: i
do i=1,10
x(i) = i
enddo
do j=1,10
write(buff(j), 1) x(j), x(j)
1 format(' This is line ', I3, /,
* ' This is newline ', I3)
enddo
do j=1,10
write(*, "(A100)") buff(j)
enddo
end program TYPE_CHECK
这给出了以下错误:
At line 13 of file myfoo6.F
Fortran runtime error: End of file
最佳答案
您可以使用NEW_LINE
内部函数查询格式化流输出中用于表示换行符的字符。当您将其发送到控制台时,该角色通常会执行您想要的操作。在格式说明中使用单独的字符数据描述符将其写出可能是最容易的。
实际上,使用斜杠编辑描述符是前进到下一条记录的请求。对于内部文件(写入字符变量),这是下一个数组元素。在示例代码中,您将标量作为字符变量传递(因此只有一条记录),因此发生文件末尾条件。
关于fortran - 如何在Fortran的字符变量中写入换行符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21279422/