2
A
回答
3
如果fscanf()
读出的输入不匹配所期望的类型(如由转换说明确定),这将通过fscanf()
的返回值(它等于被报告覆盖范围说明符数成功阅读)。
int x;
if (fscanf(file, "%d", &x) != 1)
{
// input was not a number
}
更一般地说,整个scanf()
系列函数的主要目的是读取空格分开,琐碎的数据。通常阅读完整的一行(使用fgets()
),然后在内部进行解析更为简单可靠。 (strtol()
和strtod()
能有所帮助在这里,但strtok()
应小心使用,尤其是在多线程环境。)
2
不要fscanf()
。
fgets()
和sscanf()
。
在错误的情况下,你仍然有错误恢复原始数据(或显示用户或其他)
而且经常检查scanf
系列函数的返回值。
if (fscanf(stdin, "%d", &var) != 1) { /* oops */ }
if (fgets(buf, sizeof buf, stdin) == NULL) { /* oops */ }
if (sscanf(buf, "%d", &var) != 1) { /* oops */ }
相关问题
- 1. 将与字母代替数字环路
- 2. C#正确的替代SQL数字
- 3. FusionCharts:自定义缩放比例(字母代替数字)
- 4. SQL用字母c代替č,ć,ž,
- 5. 确定char是数字还是字母
- 6. 用数字替换字母
- 7. $索引显示字母代替数
- 8. 使用char确定字母数字?
- 9. Python的替代FSCANF C代码
- 10. 替代密码字母QWERTY
- 11. fscanf fscanf一个数字并将每个数字存储在数组c中
- 12. 替代更快的方法fscanf在c + +?
- 13. 的java +代替小字母大写字母在args
- 14. 替代字母和相应的字母集合
- 15. 显示数字并用字母替换
- 16. 对字母数字字符串进行排序,然后替代数字/字母字符输出
- 17. 用C替换另一个字母C
- 18. java将正确的数字替换成字母
- 19. C++字母 - >数字
- 20. 自动增量字母数字(字母数字++)值在C#.net
- 21. 字母数字在C歧义数字
- 22. 确定单词中的字母数量?
- 23. 如何将数字替换为字母
- 24. Excel替代单元格并添加一个字母/数字
- 25. Excel-使用字母代码来替换数字
- 26. 在路线中使用字母数字slu instead代替ids - Rails
- 27. 比较字母(字母)c
- 28. fscanf文件的特定数字
- 29. 用大写字母替换“ - ”字母
- 30. 字符串交替字母
您可以格式化你尝试用fscanf()函数读什么,你可以给你如何尝试一个例子使用它? – fnokke 2011-03-31 14:57:58