'写;声明没有很多空格

时间:2012-08-21 20:34:17

标签: fortran

write函数确实打印了列之间有很多空格的参数,这最终给了我一个非常大的文件。那么我如何修剪输出,以便像一个空格。

open(unit=1,file='gfortran.txt')
write(1,ERR=1001)1,2,3 

2 个答案:

答案 0 :(得分:5)

您需要使用Fortran的编辑描述符来控制输出格式。如果你只想在一行上写3个整数,那么你可以使用

write(1,fmt='(3i2)',err=1001) 1, 2, 3

将整数写入输出文件中的2个字符的宽字段。您应该熟悉的编辑描述符有很多变体。几个例子:

fmt='(i4.2)'  ! 1 integer is written into a 4-character wide field, with at least 2 digits so a leading 0 is written if necessary
fmt='(6f9.4)' ! 6 reals are written into 9-character fields, with 4 digits after the decimal point

除此之外还有更多内容,您的编译器文档将解释所有内容。

答案 1 :(得分:3)

除了High Performance Mark所写的内容之外,这只是一个解释性评论。如果未在WRITE语句中提供显式格式说明符,则使用所谓的列表定向输出。每个Fortran处理器(用于编译器的Fortran字)可以自由选择一种输出格式,以保证列表中的每个元素都将完整打印。这通常会导致使用非常宽的(和编译器相关的)字段。