gpt4 book ai didi

C 程序在文件中搜索大于 100 的数字

转载 作者:行者123 更新时间:2023-11-30 19:17:05 25 4
gpt4 key购买 nike

目标是编写一个 int 函数,返回文本文件中大于 100 的数字出现的次数。该函数应接收文件指针作为参数。

这是迄今为止我的代码:

#include <stdio.h>
int function(FILE *infp);

int main ()
{
FILE *infp;
printf("\n%d\n",function(infp));
}

int function(FILE *infp)
{
int num, counter=0;
if ((infp = fopen ("text.txt", "r")) == NULL)
printf ("\ncannot open the file text.txt\n");
while ((num = getc())!=EOF)
{
if (num>100)
counter++;
}
fclose(infp);
return (counter);
}

它总是输出 0。我想要么 getc 不是在这里使用的正确命令,或者我可能格式化文本文件错误?任何帮助都会很棒

最佳答案

这里你使用 getc() 从文件中捕获数字,但是你的 getc() 一次只会给你一个字符,所以例如:

<小时/>

如果您的文件内容类似于:“103 9”;那么你的 getc() 将在第一次给出“1”,然后它会给你“0”,然后“3”..这样,您将永远不会完整地读取一个数字,而一次只能读取一个字符。要摆脱这个,你可以使用: fscanf(infp, "%d", &num);....这将一次性给你一个完整的数字。然后您就可以轻松匹配数字。

<小时/>

关于C 程序在文件中搜索大于 100 的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28712347/

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