我想学习如何逐行读取
C
中的.txt
文件,以便可以在循环等中使用每行中的信息。我没有这方面的作业练习,但是我需要为一个天文包编写脚本而找出解决方案。
为此,我创建了一个名为list.txt
的文件,其中包含数字1、2、3、4、5、6、7、8、9,每个数字都单独占据一行,我希望程序能够对每行的值进行求和。我还创建了一个名为sum.txt
的输出文件,程序应该对行求和,并将总和打印到输出文件中。
运行程序时我遇到了错误,不确定问题出在哪里,因为我并不完全理解这个程序。我从C语言书籍中得到了这个程序,尝试修改以在我的计算机上运行。
之所以需要这样做,是因为我需要从列表中的每一行中获取信息(每行包含一个字符串)。但我首先要学习如何处理数字。
以下为代码:#include<stdio.h>
int main(void)
{
int a, sum = 0;
FILE *ifp, *ofp;
ifp = fopen("list.txt", "r");
ofp = ("sum.txt", "w");
while (fscanf(ifp, "%d", &a) == 1)
{
sum += a;
fprintf(ofp, "The sum is %d. \n", sum);
fclose(ifp);
}
return 0;
}