第一個問題在這裏!在文本文件上顯示模式搜索輸出的最佳方式?
我正在寫一個Windows的grep類型程序,只是爲了好玩(使用Mingw)。它適用於以'\ n'結尾行的文本文件。我爲此使用了fstream :: getline()。
但我也需要能夠搜索包含只有一大塊文本沒有行號的文件。 fstream :: getline()在這裏失敗。有沒有任何函數可以從這樣的文件中將N個字符讀入緩衝區?
另外,告訴用戶在這種文件中找到匹配的最佳方式是什麼?
第一個問題在這裏!在文本文件上顯示模式搜索輸出的最佳方式?
我正在寫一個Windows的grep類型程序,只是爲了好玩(使用Mingw)。它適用於以'\ n'結尾行的文本文件。我爲此使用了fstream :: getline()。
但我也需要能夠搜索包含只有一大塊文本沒有行號的文件。 fstream :: getline()在這裏失敗。有沒有任何函數可以從這樣的文件中將N個字符讀入緩衝區?
另外,告訴用戶在這種文件中找到匹配的最佳方式是什麼?
istream::read()將從istream中讀取任意數量的字符。
至於在文件中發現的地方,行號和字符偏移量可能是一個好方法。
這回答我的問題!問題已解決我猜... – Quicksilver
對僅包含一行的文件進行操作的傳統'grep'只會輸出整行。如果你想做別的事情,你所能做的就是告訴用戶有多少個字符。問題是,當你不再考慮它是一個單行文件時,你必須做出任意的決定,在那裏你輸出整行,並開始考慮它是一個巨大的塊。 – Cascabel
謝謝,我想我會指出從文件開始的無格式文本的字符數。 – Quicksilver