【发布时间】:2014-02-16 09:29:40
【问题描述】:
我最近学习了如何在 C 中使用 I/O 文件,我的书中的一个练习要求我读取成对的数字行并将它们相加,然后将它们打印到输出文件中。
我的意思是:
如果输入文件看起来像:
12 13
24 26
23 13
输出文件将是:
25
50
36
我尝试将其作为字符串读取:
fscanf(in, "%s", &string); //in is the input file pointer
但它不起作用(导致段错误)
我的问题是我无法使用 fscanf 函数接收成对的数字行,因为我不知道输入文件中有多少行。
因此,我的问题是:如果我不知道有多少行,我如何读取包含大量行的输入文件?我可以将其作为字符串读取吗?
先谢谢你了。
迈克尔
【问题讨论】:
-
我们无法调试或修复我们看不到的代码。
-
您在循环中逐行读取文件,直到到达文件末尾(
eof函数)。 -
提示:您不需要知道确切的行数,只需读取一行,处理并重复直到 EOF。
-
@DavidSchwartz 我只是想知道如何使用 scanf 获取一定数量的行
-
@StefanoSanfilippo 谢谢,我会考虑提示