2013-06-05 89 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。閱讀將不會處理評論的其餘部分。下一次閱讀將從下一行讀取。如果您不知道哪些行包含哪種類型的數據,則可以將每行讀入一個字符串並分析字符串以決定如何從字符串中讀取。