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