此代码

fscanf(f, "%[^|]|%d", text, &num)

如果文本长度超过0字节(例如文件包含:
testtext|89

但如果文本的长度为0字节,则如下所示:
|89

那么fscanf读取的数字将为零!
发生了什么?

最佳答案

根据本页:http://www.cplusplus.com/reference/cstdio/fscanf/
任何说明符至少应使用一个字符。否则匹配失败,扫描到此结束。

关于c - 如果前面的字符串为空,则fscanf()无法读取数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22064080/

10-12 16:25