将 real 写入字符串时记录结束

End of record when writing real to a string

我在使用 Fortran 95 时遇到运行时错误:

At line 73 of file calcCenterOfMass.f95
Fortran runtime error: End of record

第 73 行的代码是

WRITE(TIMEDIR, '(f10.2)') CURRENTTIME

其中 TIMEDIR 是字符串,CURRENTTIME 是实数。

我想问题是 TIMEDIR 的长度为四,因为字符串的形状必须为 0.00、0.01 等。但是默认长度 real 比四个字符长。

是这个问题吗,然后怎么解决?

格式f10.2表示长度为10个字符,保留2位小数。 (所以会是xxxxxxx.xx)

如果你想要0.01左右,你需要格式f4.2