用C读取文件

时间:2012-11-30 19:09:11

标签: c file input

我的朋友和我正在研究一个项目,我们需要从C中读取文件的输入。

该文件如下所示:

15 25 200
3 10
17.99 22.99 109.99
100 2 4
5.99 99.99 20.00 49.99
10 10 10 10 10 10 10 10 10 10
3.99 5.99 7.99 8.00 5.00 5.00 5.00 6.00 7.00 9.99
5

我需要逐行读取文件,并将每个值设置为不同的变量。例如,第一行的第一个值必须设置为变量preSalePrices,第二个值为doorPrices,第三个为preSales。我需要帮助找出如何指定每行的值的数量。例如,如何告诉程序在第一行获得三个值,而在第二行只获得两个值?然后在第五行上有四个值,依此类推。

这是我的代码,但它只是崩溃了:

int main() {
    float preSalePrices, doorPrices;
    int preSales;
    FILE *fp;
    fp = ("C://Users//Jake//Desktop//Charity Ball//auction01.txt", "r");

    while(fscanf(fp, "%f %f %i", &preSalePrices, &doorPrices, &preSales) != EOF) {
        printf("%f, %f, %i", preSalePrices, doorPrices, preSales);               
    } 
}

我看过整个互联网,但我找不到与此有关的任何内容。

1 个答案:

答案 0 :(得分:2)

如果您总是知道每行中的值的数量,您可以忽略行尾并逐个读取值。

如果行尾是重要的,最简单的方法是分别读取每一行(例如fgets),然后使用sscanf从那里读取数据。