在给定的文件记录中,我需要首先读取前两个整数元素,然后读取行的其余部分(大量实数元素),因为任务依赖于前两个元素。假设前两个整数元素的格式没有很好地定义。
解决问题的最佳方法可能是:
但是我觉得gfortran不允许“(I0)”规范。基本上,unitfile中读取的文件可能是这样的:
解决问题的最佳方法可能是:
read(unitfile, "(I0,I0)", advance='no') ii, jj
read(unitfile,*) aa(ii,jj,:)
但是我觉得gfortran不允许“(I0)”规范。基本上,unitfile中读取的文件可能是这样的:
0 0 <floats>
0 10 <floats>
10 0 <floats>
100 0 <floats>
100 100 <floats>
使用类Fortran的定长字段格式规范很难将其读取。
有没有其他方法可以解决这个明显微不足道的问题?
i0
不允许读取文件,但对于写入文件肯定是可以接受的。你尝试过使用i3
之类的东西吗? - Kyle Kanosgcc
编写了文件(fprintf(fp,"%d %d %f %f %f\n",i,j,(double)(i+j),(double)(i-j),(double)(j-i));
),然后使用ifort
读取它,零问题,使用read(10,'(i0,i0)',advance='no')
。 - Kyle Kanos