0

我和我的朋友正在做一个项目,我们需要从 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);               
    } 
}

我在整个互联网上都看过,我找不到任何与此相关的具体内容。

4

1 回答 1

2

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

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

于 2012-11-30T19:14:29.743 回答