2

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

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

2 回答 2

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

除此之外还有很多,您的编译器文档将解释一切。

于 2012-08-21T21:21:54.533 回答
3

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

于 2012-08-22T07:06:53.860 回答