我在C中有一個文件流,我想知道它中有多少行沒有遍歷文件。每條線的長度相同。我該怎麼辦?c文件流中的行數
Q
c文件流中的行數
0
A
回答
3
怎麼是這樣的:
- 做一個
fgets
,並找出一條線是 多久使用
fseek
和ftell
fseek(fp, 0, SEEK_END); size = ftell(fp);
鴻溝查找文件的大小按行數大小
您還可以使用fseeko
和ftello
與off_t
工作。
0
讀取一行stat()
將文件轉換爲get the total size,將總大小除以第一行的長度。
而不是使用stat()
您也可以fseek()
到該文件的末尾,然後使用ftell()
來獲取大小。
0
通過線的長度以ftell()
和除法。
2
如果它是安全的假設所有線路長度相等,你可以簡單地在第一線讀取,拿到它的長度,然後獲取文件大小,並通過線路長度除以文件的大小。
這將只用固定寬度編碼(ASCII-7,不同的8位的ANSI編碼,UTF-32)工作;使用可變寬度編碼(例如UTF-8),您將不得不掃描整個文件,因爲字符串長度不一定與字節數成正比。
相關問題
- 1. C++解析文件中的行爲流
- 2. 在ASP.NET,C#中流文件?
- 3. C++ 11文件流
- 4. MATLAB中的數據流與來自C++可執行文件的輸入數據
- 5. C/C++流和文件
- 6. 從數據流中的文本文件處理多行事件
- 7. 將流行文件導入流星中的不同文件夾
- 8. C中文件中每行的字數
- 9. 流入和流出C++中的文本文件
- 10. 從C#中的文件字段流#
- 11. 計算文件中的行數 - C
- 12. C#文件流到SQL Server數據庫
- 13. 包含C或C++程序執行流程的日誌文件
- 14. 將從blob下載的可執行文件運行到c中的流中#
- 15. 文件重量和文本文件中的行數 - 如何? (C#)
- 16. c#上傳文件到流?
- 17. C++文件流和向量
- 18. C++打開文件流
- 19. VCF文件流到C#
- 20. 流文件到mysql在c
- 21. 在文件流中打開一個簡單的函數C++
- 22. 。在C++中使用打開的文件流獲取函數
- 23. C++中字符串流與文件I/O流的性能
- 24. 從文件流中讀取內容c#
- 25. 在C++中連續流幾個文件
- 26. C#:從文件中讀取流
- 27. 將文件流寫入StreamWriter中c#
- 28. 在C中計數文件行#
- 29. 流文本文件到文本框c#
- 30. 只讀文件C中的奇數行/偶數行
實際上,我會使用'stat'(或者實際上'fstat'),但它不是可移植的。 – 2012-02-24 11:10:19