如何跳过一个值并转到fscanf()中的下一个值,如何fscanf()特定类型

时间:2014-09-20 06:41:25

标签: c

如何跳过某个值并转到fscanf()中的下一个值?例如,我的输入文件中包含以下数据:

11112222
3.95
4
22.5

为了扫描第二个值我应该怎么做? (我想跳过11112222扫描3.95)

还有一件事:如果我想fscanf()特定数据类型,我该怎么做? (例如:我想扫描double值并跳过int值。)

2 个答案:

答案 0 :(得分:4)

您可以使用*修饰符扫描值并将其丢弃而不是存储它。例如:

if (scanf("%*d%lf", &var) != 1)
    …process input error…

将读取输入文件的前两行,并将第二行的值存储到双变量var

答案 1 :(得分:0)

int fun() {
 int unusedvar;
 float value;
 FILE *fp=fopen("yourfilename","r");
 fscanf(fp,"%d%f",&unusedvar,&value);
 return 0;
}

那么简单吗?