我正在從fscanf()讀取文件中的一組數字,我想將它放入數組中。問題是,數字之間用「,」隔開,如何確定fscanf應該讀取多個密碼,並在文件中找到「,」時,它會將其保存爲整數?謝謝- 如何確定逗號?
回答
這可能是一個開始:
#include <stdio.h>
int main() {
int i = 0;
FILE *fin = fopen("test.txt", "r");
while (fscanf(fin, "%i,", &i) > 0)
printf("%i\n", i);
fclose(fin);
return 0;
}
有了這個輸入文件:
1,2,3,4,5,6,
7,8,9,10,11,12,13,
...的輸出是這樣的:
1
2
3
4
5
6
7
8
9
10
11
12
13
你究竟想幹什麼?
謝謝,我已經嘗試過了,但沒有成功。我正在爲一些計算填充內部矩陣 - 請參閱我的編輯 – Waypoint 2011-03-30 16:26:16
我在ProjectEuler問題(即不同的輸入)上嘗試了此操作。令人驚訝的是,即使每行的最後一個字符不是逗號,這似乎仍然有效。 – ComputerScientist 2016-12-29 04:56:51
fscanf(file, "%d,%d,%d,%d", &n1, &n2, &n3, &n4);
但如果數字之間有空格將無法工作。 This answer展示瞭如何做到這一點(因爲有沒有庫函數本)
只要'n1','n2' ...是指向'int'的指針,當然... – thkala 2011-03-30 16:24:54
我可能會使用類似:
while (fscanf(file, "%d%*[, \t\n]", &numbers[i++]))
;
的%d轉換一個數字,而 「%* [,\ t \ n]」 讀取(但不分配)的任何連續運行分隔符 - 我將它們定義爲逗號,空格,製表符,換行符,儘管對於您認爲合適的任何內容進行更改都相當簡單。
+1代碼雖然很棒,但是因爲看起來他開始使用它可能沒有什麼幫助,除了能夠複製它。 – 2011-03-30 16:54:21
- 1. 如何向逗號中添加逗號?
- 2. 如何在逗號中輸入逗號?
- 3. 如何用逗號
- 4. 如何用逗號
- 5. 如何從逗號
- 6. 如何正確使用兩個數據字段逗號隔開逗號?
- 7. 不正確放置逗號
- 8. 添加正確的號碼逗號
- 9. 如何在錢數據類型如逗號分隔逗號
- 10. R:如何根據逗號
- 11. 如何在沒有逗號
- 12. 如何打印用逗號
- 13. 如何從逗號笨
- 14. 如何分割用逗號
- 15. 如何在Javascript ESCAPE 「逗號」
- 16. VIM如何逗號對齊
- 17. Mongoimport:CSV中的逗號逗號
- 18. com.Ostermiller.util.ExcelCSVPrinter.ExcelCSVPrinter中的逗號逗號
- 19. CSV中的逗號逗號
- 20. 如何刪除引號和逗號?
- 21. 如何刪除逗號和括號
- 22. 如何爲雙號的逗號kendoGrid
- 23. 如何在_form中標記逗號之間的逗號?
- 24. 如何在javascript中用逗號替換雙逗號
- 25. 如何在讀取數據時用逗號分隔逗號android
- 26. 如何拆分逗號線,卻忽略逗號
- 27. 如何在逗號分隔文件中插入逗號
- 28. 如何在逗號分隔文件中顯示逗號
- 29. 如何獲得用逗號分隔的逗號值?
- 30. 如何正確確定版本號?
請提供一些示例輸入並解釋您希望如何解析它以及結果應該如何。 – 2011-03-30 16:18:41
只需在fscanf格式字符串中添加',',就像我在答案中所做的一樣。例如。使用'「%f」,而不是'「%f」'。很多人需要爲每行的最後一個數字使用一個單獨的格式字符串,以避免不得不使用',' – thkala 2011-03-30 16:27:55
終止行。它適用於我,對於每行的最後一行沒有單獨的格式,只需用逗號分隔並使用「% f,「太好了,非常感謝 – Waypoint 2011-03-30 16:33:58