我一直在使用googling一段時間無濟於事,我甚至不確定是否有這個名稱。在零件中閱讀文件,在最後閱讀一段時間後繼續
我的用例是:我有一個大文件,其中包含應該獨立處理的文本塊。它們全部列在文件中,並用分隔符分隔。我希望逐塊讀取該文件,並在讀取塊上執行一些操作,然後讀取下一個塊。像遍歷文件一樣,但不是一次全部讀取到內存。我有java代碼,通過某種實現可迭代接口的BlockGen類來實現,並在客戶端代碼需要時從先前讀取的位置讀取文件,但我不確定如何在C++中正確實現。
任何幫助表示讚賞。是的,這不是功課!
塊是否固定大小?你如何習慣在C++中讀取文件? – doctorlove 2014-08-28 08:28:09
它們被包含在某種分隔線中,因此我知道它們的開始和結束位置。我想將文件讀取封裝到一個單獨的函數/類中,這樣所有的getline東西都不在塊處理函數中。理想情況下,塊處理函數只會說blockgen.getNextBlock()或者像這樣。 – darxsys 2014-08-28 08:29:31
也許你應該包含一些顯示分隔符的示例文件。你可以使用內存映射文件或者一些緩衝(讀取前面的內容)來獲取每一行。 – firda 2014-08-28 08:32:02