0
我的朋友和我工作的一个项目,我们需要在C读取文件用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);
}
}
我看了所有在互联网上,我无法找到与此相关的具体事情。
不会像这样将整行扫描到变量中 - 一次只读取每行一个变量。 – cegfault
读取一行,使用空格作为分隔符分割它。请参阅http://www.cplusplus.com/reference/cstring/strtok/ – peacemaker
由于您的代码缺少对fopen()的调用,因此您应该收到编译警告。你也应该检查'fopen()'的返回值,虽然这个测试对于函数调用没有帮助 - 'fp'得到一个非空指针''r“'。 –