2009-08-31 98 views
1

第一個問題在這裏!在文本文件上顯示模式搜索輸出的最佳方式?

我正在寫一個Windows的grep類型程序,只是爲了好玩(使用Mingw)。它適用於以'\ n'結尾行的文本文件。我爲此使用了fstream :: getline()。

但我也需要能夠搜索包含只有一大塊文本沒有行號的文件。 fstream :: getline()在這裏失敗。有沒有任何函數可以從這樣的文件中將N個字符讀入緩衝區?

另外,告訴用戶在這種文件中找到匹配的最佳方式是什麼?

+0

對僅包含一行的文件進行操作的傳統'grep'只會輸出整行。如果你想做別的事情,你所能做的就是告訴用戶有多少個字符。問題是,當你不再考慮它是一個單行文件時,你必須做出任意的決定,在那裏你輸出整行,並開始考慮它是一個巨大的塊。 – Cascabel

+0

謝謝,我想我會指出從文件開始的無格式文本的字符數。 – Quicksilver

回答

2

istream::read()將從istream中讀取任意數量的字符。

至於在文件中發現的地方,行號和字符偏移量可能是一個好方法。

+0

這回答我的問題!問題已解決我猜... – Quicksilver

相關問題