我是新來的使用C編程我想知道是否有一個函數調用,可以用來快速確定文本文件中的行數。如何快速確定文本文件中的行數?
0
A
回答
0
int numLines(char *fileName) {
FILE *f;
char c;
int lines = 0;
f = fopen(fileName, "r");
if(f == NULL)
return 0;
while((c = fgetc(f)) != EOF)
if(c == '\n')
lines++;
fclose(f);
if(c != '\n')
lines++;
return lines;
}
0
不,不是。你必須自己寫。
如果行大小固定,則可以使用fseek和ftell移動到文件末尾 然後計算它。
如果不是,您必須通過文件計數行。
你想創建一個行數組? 類似於
char* arr[LINES] //LINES is the amount of lines in the file
?
+0
我想我將不得不通過文本文件循環,並有一個計數行......我只是不知道是否有一個更簡單的方法.. 而且我有類似char * arr [行] ; – MRP 2010-01-22 20:36:47
2
不。有一個標準的Unix實用程序可以完成此操作,wc
。您可以查看wc
的源代碼來獲取一些指針,但它可以歸結爲簡單地從頭到尾讀取文件並計算行數/作品數量。
1
你必須自行編寫,和你必須意識到文件的格式化... Do行以\n
結尾嗎?或\r\n
?如果最後一行不以換行符結尾(如所有文件都應該)?你可能會檢查這些,然後計算文件中的換行符。
5
#include <stdio.h>
#include <stdint.h>
uint32_t CountRows(FILE* fp, uint8_t line_delimiter){
uint32_t num_rows = 0;
uint16_t chr = fgetc(fp);
while(chr != EOF){
if(chr == line_delimiter){
num_rows++;
}
chr = fgetc(fp);
}
return num_rows;
}
相關問題
- 1. 如何快速搜索大文本行分隔數據文件?
- 2. 快速文本文件中的Java
- 3. 如何確定哪個文本域是活躍的快速
- 4. 我們如何確定文本文件中的行數?
- 5. 快速bash腳本在指定文件夾中運行腳本?
- 6. 從文本文件中快速讀取
- 7. 如何在IntelliJ中快速瀏覽文件的行數?
- 8. BASH - 快速確定文件中以大寫字母開頭的行數
- 9. 如何快速刪除emacs命令行中的所有文本?
- 10. 與指定的文本快速
- 11. 如何確定文件是否是Eclipse中的文本文件
- 12. 如何快速訪問Xcode中swift文件的界面版本?
- 13. 如何快速重命名文件夾中的一堆文件
- 14. 快速確定一組文件在C#中是否相同?
- 15. 如何快速定位NERDTree中的活動文件
- 16. WPF控件的快速輸出文本
- 17. 如何從文本文件中讀取極長的文本文件,在C++中快速安全地使用?
- 18. 更快速的方法從文本文件導入數據
- 19. 用文本文件初始化數組的速度更快C++
- 20. 如何快速重命名Powershell中的數千個文件?
- 21. C#將數千行從文本文件快速添加到數據庫
- 22. 從文本框快速轉換爲文本文件
- 23. 如何限制快速文件搜索
- 24. 如何快速查詢文件系統?
- 25. 確定多行文本組件中文本的XY位置
- 26. 快速搜索unix目錄中文件的文本?
- 27. 從C++中的文本文件快速創建圖形
- 28. 快速複製的文件
- 29. 快速文本到語音
- 30. Haskell快速文本處理
什麼在你的文本文件中的一個行的定義是什麼?它是否被劃定?固定大小? – 2010-01-22 20:30:18
該文本文件包含一個數字矩陣。我不知道會有多少行數 – MRP 2010-01-22 20:31:59
*如果*「矩陣」意味着每一行都是相同的長度,您可以將總大小除以每行的長度。 – 2010-01-22 20:34:03