File io 自由格式Fortran中的非提前读取

File io 自由格式Fortran中的非提前读取,file-io,fortran,fortran90,fortran77,File Io,Fortran,Fortran90,Fortran77,我想读取文件中的一行,其中包括三个实数,而不推进指针。所以我写了:(TXT是代表我的文件的变量,它的值为80) 但是,我收到一条错误消息,上面说: 错误#6568:使用高级、大小或EOR说明符无效 那么,我应该怎样写才能使它正确呢 谢谢。您只能使用显式格式的advance='no'。原因如下:advance='no'只是避免转到下一条记录(请注意,文件指针仍然在最后一次读取值之后前进);但对于定向列表(格式*),您不知道read语句涉及多少条记录(例如,三个数字可能写在四行上)。如果您不想前进到

我想读取文件中的一行,其中包括三个实数,而不推进指针。所以我写了:(TXT是代表我的文件的变量,它的值为80)

但是,我收到一条错误消息,上面说:

错误#6568:使用高级、大小或EOR说明符无效

那么,我应该怎样写才能使它正确呢


谢谢。

您只能使用显式格式的advance='no'。原因如下:advance='no'只是避免转到下一条记录(请注意,文件指针仍然在最后一次读取值之后前进);但对于定向列表(格式*),您不知道read语句涉及多少条记录(例如,三个数字可能写在四行上)。

如果您不想前进到下一行的原因是该行上有更多的数据要读取,通常的方法是使用“(a)”将整行读取为字符串格式化,然后重复读取字符串。还要注意,
ADVANCE
只能用于从外部单元读取。我在读取字符数组时被烧坏了。
read(TXT, *, ADVANCE='NO') (numbers(i),i=1,3)