用C++如何很快知道一個檔案有幾行

看板Programming作者 (陳揚和)時間17年前 (2009/02/23 06:59), 編輯推噓5(503)
留言8則, 4人參與, 最新討論串1/4 (看更多)
一定要讀過每個字元然後看有幾個\n嗎, 因為檔很大時還滿慢的 call system call wc 應該就更慢了 要怎麼知道檔案有多大我也不確定 這個file system 應該有紀錄 不用一個個字元數.. 但有os independent的函數可回傳檔案大小嗎 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 128.125.87.33

02/23 07:58, , 1F
讀所有"\n"的時間複雜度是O(n)
02/23 07:58, 1F

02/23 09:02, , 2F
OS或file system應該管不到這.因為檔案格式
02/23 09:02, 2F

02/23 09:02, , 3F
很多種,os或file system不太可能還幫user管
02/23 09:02, 3F

02/23 09:03, , 4F
這麼細. 除非另有外掛吧?
02/23 09:03, 4F

02/23 15:03, , 5F
口也, 1. 檔案倒底多大啊 XD
02/23 15:03, 5F

02/23 15:04, , 6F
2. 你去叫外部 process "wc" 反而更慢吧
02/23 15:04, 6F

02/23 15:05, , 7F
我懷疑你是叫了 wc 才慢的 XD
02/23 15:05, 7F

02/23 22:56, , 8F
不知道用mmap讀檔會不會比較快
02/23 22:56, 8F
文章代碼(AID): #19eTZYZI (Programming)
討論串 (同標題文章)
文章代碼(AID): #19eTZYZI (Programming)