肖邦的SK 发表于 2018-3-21 10:56:54

跳转到文件的下一个段落

$DMP$DMP$DMP$DMPSTARTBLOCK               0
RANGE            0.4648748E-11      1   9
E3-#1.1
45
CHIPIC VERSION: January 2018    DATE: 3/13/18
   0
   5
Z (m)
   3
V/M
32
RANGE PLOT AT TIME: 4.65E-12 SEC
12
Ez COMPONENT
55
RANGING FROM (0.005,0.000,0.000) TO (0.005,0.000,0.600)
   0
   0
      10
      0.5000000E-03      0.000000            
      0.1500000E-02      0.000000            
      0.2500000E-02      0.000000            
      0.3500000E-02      0.000000            
      0.4500000E-02      0.000000            
      0.5500000E-02      0.000000            
      0.6500000E-02      0.000000            
      0.7499999E-02      0.000000            
      0.8500000E-02      0.000000            
      0.9500000E-02      0.000000                     
$DMP$DMP$DMP$DMPSTARTBLOCK               0
RANGE            0.4648748E-11      2   9
B1ST-#2.1
45
CHIPIC VERSION: January 2018    DATE: 3/13/18
   0
   5
Z (m)
   5
TESLA
32
RANGE PLOT AT TIME: 4.65E-12 SEC
16
BrhoST COMPONENT
55
RANGING FROM (0.005,0.000,0.000) TO (0.005,0.000,0.600)
   0
   0
      11
       0.000000         0.1070656E-06      
      0.1000000E-02   0.1125550E-06      
      0.2000000E-02   0.1183259E-06      
      0.3000000E-02   0.1243925E-06      
      0.4000000E-02   0.1307704E-06      
      0.5000000E-02   0.1374750E-06      
      0.6000000E-02   0.1445237E-06      
      0.6999999E-02   0.1519334E-06      
      0.7999999E-02   0.1597231E-06      
      0.9000000E-02   0.1679124E-06      
      0.1000000E-01   0.1765214E-06   


现在我有这么一个文件,如果第一段里面读到第三行,通过判断字符串发现这段不是我想要的,能直接跳到下面一段的开头位置 $DMP$DMP$DMP$DMPSTARTBLOCK吗

pasuka 发表于 2018-3-21 12:45:05

lz可以参考FSEEK和FTELL自己编程实现
https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gfortran/FSEEK.html#FSEEK
https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gfortran/FTELL.html#FTELL

fcode 发表于 2018-3-21 20:31:11

character(len=512) :: cStr
Do
Read( 12 , "(a512)" ) cStr
if( cStr(1:4) == "$DMP" ) exit
End Do
页: [1]
查看完整版本: 跳转到文件的下一个段落