我的朋友和我正在研究一个项目,我们需要从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);
}
}
我看过整个互联网,但我找不到与此有关的任何内容。
答案 0 :(得分:2)
如果您总是知道每行中的值的数量,您可以忽略行尾并逐个读取值。
如果行尾是重要的,最简单的方法是分别读取每一行(例如fgets
),然后使用sscanf
从那里读取数据。