使用自由格式在Fortran中读取未推进的内容

Fal*_*ger 8 file-io fortran fortran77 fortran90

我想读取一个文件中的一行,其中包含三个实数,而不会使指针前进.所以我写道:( TXT是代表我的文件的变量,其值为80)

read(TXT, *, ADVANCE='NO') (numbers(i),i=1,3)
Run Code Online (Sandbox Code Playgroud)

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

"错误#6568:使用ADVANCE,SIZE或EOR说明符无效."

那么我应该如何编写它以使其正确?

谢谢.

Fra*_*acq 9

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