此代码
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/