从C中的数据文件中读取文本行

时间:2014-10-24 08:25:32

标签: c scanf

我正在尝试读取一系列填充了整数和双数据的txt文件,但是在每个文件中我都有第一行显示:

    X   Y
1   67.944  3.796
2   265.140 5.380
3   233.250 5.667
4   512.333 6.100
5   585.611 6.019
6   98.674  7.065
7   155 6
8   308 6.583
9   496.357 6.714
10  533.242 8.113
11  479.679 9.071
12  623 9.286
13  16.224  9.914
14  280.420 9.700
15  206.750 11.833
16  248.308 12.308
17  83.940  13.100
18  324 12.583
19  369.056 13.204
20  445.286 13
21  140.900 13.460
22  168.278 13.833
23  401.143 14.036

所以你可以看到我有3个coloumns在每个文件中写了这个斜杠和X Y,我试着用下面的代码读它,我不能:

/* reading the data from the measurement file */
for(line=0;line< 1260;line++)
{
    if(line == 0)
        fscanf(measure_file,"%*d\n");
    else
        fscanf(measure_file,"%d\t%le\t%le\n",&n[line],&x[line],&y[line]);
}

也许我在if(line == 0)中做错了                        的fscanf(measure_file, “%* d \ n”); 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

试试这个:

       char header[30];
       fgets(header, sizeof(header), measure_file);
       for(line=0;line< 1260;line++) {
           if (fscanf(measure_file, "%d\t%le\t%le\n", &n[line], &x[line], &y[line]) != 3)
               break;
           // ... 
       }