gpt4 book ai didi

c - 如何扫描并打印文本文件中的 int 值?

转载 作者:行者123 更新时间:2023-11-30 20:32:24 24 4
gpt4 key购买 nike

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 进行读取。

您需要在打开文件后立即检查文件是否正常。如果您先尝试读取然后检查,如果失败,程序可能会以段错误结束。

您还可以将 fscanf 移至 while 条件,其中它返回进行的转换次数,这意味着对您来说,当它读取数字时返回 1,当读取数字失败时返回 0,当读取数字时返回 -1文件末尾。

我建议您尝试在一些文档网站(如cppreference.com)上阅读所有这些函数(+feof)。 .

关于c - 如何扫描并打印文本文件中的 int 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47546847/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com