C 查找txt文件中的所有数字

C 查找txt文件中的所有数字,c,numbers,text-files,C,Numbers,Text Files,我有一个包含文本和数字的文本文件 我必须做一个函数,从文本文件中查找所有数字 我现在打开了一个文件什么 FILE *fp; if((fp=fopen("Text.txt","r"))==NULL) { printf("No such file...\n"); } 打开第一个文件进行读取。打开另一个文件进行写入。迭代字符,使用atof确定每个“单词”是否为数字,如果是数字,则写入打开的文件 输出也可以做到这一点,但这并不有趣 编辑:Basile Starynkevitch提到,对于此作业

我有一个包含文本和数字的文本文件

我必须做一个函数,从文本文件中查找所有数字

我现在打开了一个文件什么

FILE *fp;
if((fp=fopen("Text.txt","r"))==NULL) {
    printf("No such file...\n");
}

打开第一个文件进行读取。打开另一个文件进行写入。迭代字符,使用
atof
确定每个“单词”是否为数字,如果是数字,则写入打开的文件

输出也可以做到这一点,但这并不有趣


编辑:Basile Starynkevitch提到,对于此作业,
strtod
优于
atof
,因为它提供了结尾字符。这两项都很好。

我肯定这是家庭作业

定义你的词汇数字(它太不精确)

然后做一个循环,用例如
getline
或逐个字符逐行读取

阅读更多关于和


但我不想做你所有的家庭作业。你最好自己试着理解。

作业?到目前为止你有什么?先从这里尝试一些代码,然后发布你得到的。如果你尝试,人们会帮助你。@Omar,那不是认真尝试。首先制定一个伪代码方法怎么样。那么,就自然语言而言,您将如何从这里开始?好的,请告诉我如何在文件中使用像getchar这样的函数?@Omar您不能对文件使用
getchar()
。手册页声明它用于从
stdin
获取字符,这是终端输入。试试
fgetc
,更多信息:
strtod
更好,它会给你一个结尾字符。我认为这不管用。从手册页:成功时,函数将转换后的浮点数作为双精度值返回。如果无法执行有效转换,或者如果正确的值会导致下溢,则返回零值(0.0)。(来源:)你如何区分“0”和“猴子”这个词?(pff 10稍后编辑:)此检查通过后,您需要检查是否所有字符都满足“0”