FILE *fre;
int re_rng;
fre = fopen(file_name, "a");
while (!feof)
{
fscanf(fre,"%d", &re_rng);
if (fre==NULL){
printf("Error");
}
printf("%d", re_rng);
}
文本文件如下所示(垂直列表)
12
2
7
5
4
10
15
4
18
最佳答案
要对代码进行很少的更改,您可以执行以下操作
FILE *fre;
int re_rng;
fre = fopen("vals", "r");
if (fre==NULL){
printf("Error");
}
while (fscanf(fre, "%d", &re_rng) == 1)
{
printf("%d\n", re_rng);
}
注意事项:您在fopen中放置了错误的说明符,
a
表示追加,它在文件末尾打开文件进行写入。您想使用r
进行阅读。打开文件后,您需要检查文件是否正常。如果您先尝试阅读然后检查,如果失败,则该程序可能会以segfault结尾。
您还可以将fscanf移至条件条件while,它返回转换的次数,这对您来说意味着它在读取数字时返回1,在无法读取数字时返回0,在末尾返回-1。文件。
我建议您尝试在诸如cppreference.com之类的某些文档站点上阅读所有这些功能(+ feof)。