因此,此函数从一个由空格分隔的文件中读取整数,并获取总数。它工作正常。
只要数字是单个数字,1-9
如何让它读取1-100的双位数字?
我是否在读取每个数字的ifs中进行嵌套,然后尝试在其旁边读取第二个数字而没有空格然后转到第三个数字(情况100)?
然后我将它们变成一个整数(说实话我不知道怎么做)
a = s.charAt(i)
}
答案 0 :(得分:1)
这取决于你是否打算(或者意味着)以最少的编程努力获得整数,或者为自己练习或解决如何做(十进制)转换。
如果是前者,您需要仔细查看fscanf
可以为您做些什么:如果您使用转化说明符,例如"%d"
或"%i"
,您可以输入fscanf
的一次调用中的任何整数。
如果使用后者,使用fgetc(fp)
更有意义 - 使用fscanf(fp,"%c",&c)
读取单个字节非常笨拙。在这种情况下,您在评论的正确轨道上:从0开始,每次找到(十进制)数字乘以整数结果到目前为止10并添加新数字。
对您的代码的评论:
c
与NULL
进行比较的风格很差,因为NULL
代表指针,但将比较等于0。c
将会更新。fscanf
是否返回EOF
- 请务必阅读您不熟悉的功能文档!