c++ - fscanf() 输出错误值

标签 c++ scanf

我正在尝试从文本文件中读取整数。然而这段代码不断地打印 i 的值。因此它会继续打印文件中的零而不是整数。我该如何解决?谢谢!

FILE* inFile = fopen(filename,"r");
    int i=0;
    int x;


    while(fscanf(inFile,"%d",&i)!= EOF){
            printf("%d\n", i);
            usleep(30000);
            //fscanf(inFile,"%d",&i);

    }
    fclose(inFile);

最佳答案

fscanf() 返回成功扫描的字段数。

所以而不是

while (fscanf(inFile, "%d", &i) != EOF)

尝试类似的事情

while (fscanf(inFile, "%d", &i) == 1)

关于c++ - fscanf() 输出错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58332479/

相关文章:

c++ - 软 I²C ping 功能

c - 逐行读取文本文件并从缓冲区扫描 - C

C:打印的字符不正确,怀疑是内存。问题

c - sscanf 扫描特定大小的字符串

c++ - 如何避免捕获的成员在 C++11 的 lambda 表达式中被任意表达式初始化?

由于我删除了一行,c++ 无法在 linux 上编译

c++ - 持有大量共享状态的访问者类 : best way to implement reference semantics?

c++ - scanf 语句后的逗号?

c - scanf 需要比请求更多的输入

c++ - 一个中断函数来修改动态确定的实例?