我想在字符缓冲区变量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
答案 0 :(得分:9)
您可以使用NEW_LINE
内在函数来查询用于表示格式化流输出中的换行符的字符。将此字符发送到控制台时,通常会执行此操作。在格式规范中使用单独的字符数据描述符将其写出来可能是最容易的。
使用斜杠编辑描述符实际上是进入下一条记录的请求。对于内部文件(写入字符变量),这是下一个数组元素。在您的示例代码中,您将标量作为字符变量传递(因此只有一条记录),因此会出现文件结束条件。