C.从文件中扫描行的特定部分并将其分配给某个变量

时间:2016-06-04 13:53:21

标签: c file scanf

如果我在文件中有这些数据:

  

Mercure 99842 1 18 2001 5 30 1991 16 12.5

     

Mazda 123961 2 20 1993 6 15 1993 19.3 16.7

我感兴趣的是,比如每行的第三个数字,我想将它存储在一个数组中。

我以前做的是使用一些变量来存储行中的所有值,然后选择我感兴趣的那个。 例如:

while(fscanf(file,"%s %d %d %d %d %d %d %f %f",a,&b,&array[i],&d,&e,&r,&t,&g,&h)!=EOF)
     {i++;}

array [i]存储我感兴趣的值,其他变量只是格式化,我不需要它们。

有没有更好的方法呢?

1 个答案:

答案 0 :(得分:1)

您可以使用*fscanf()读取值并将其丢弃。

while(fscanf(file,"%*s %*d %d %*d %*d %*d %*d %*f %*f",&array[i])!=EOF)
     {i++;}