2013-06-05 55 views
1

我有一个文件,我需要用Fortran语言,看起来像这种重复阅读一些时域数据:如何在Fortran中使用注释读取格式化数据?

0.0000E+000 
     2 % number of particles 
     4 % number of values 
0.00000E+000 
0.00000E+000 
0.00000E+000 
0.00000E+000 
     4 % number of values 
0.00000E+000 
0.00000E+000 
0.00000E+000 
0.00000E+000 

,其中第一行是当前的时间,我需要在其他值数组的大小由粒子数量的值决定。理想情况下,每次调用read_values()子例程都会获取这些数据的一部分(在下一次),但我不确定如何跳过注释。阅读后是否有简单的方法可以简单地进入下一行?

回答

1

Fortran I/O通常是基于记录的(新的stream访问方法不是)。对于格式化文件,这意味着线。 Fortran read通常从一行读取,下一个读取将读取下一行......除非您明确使用非前进选项。如果您知道哪些行是整数,请使用仅使用该行部分的格式读取整数。与您的文件似乎是I8。阅读将不会处理评论的其余部分。下一次阅读将从下一行读取。如果您不知道哪些行包含哪种类型的数据,则可以将每行读入一个字符串并分析字符串以决定如何从字符串中读取。