我最近發現了stream_iterator,它非常適合讀取文本文件,我希望忽略所有的空白字符。所以,我可以讀文件到一個載體如下:使用stream_iterator讀取分塊文件
std::ifstream infile(file path, std::ios::binary);
std::vector<char> vec;
vec.insert(vec.begin(),
std::istream_iterator<char>(infield),
std::istream_iterator<char>());
這個偉大的工程,只有讀取非空白字符,這就是我想要的。但是,我試圖以塊讀取文件,我想知道如何將這個典型示例擴展爲一次讀取n
個字節。
順便說一句:我注意到這是stream_iterator特別的東西。例如,做:
std::vector<char> vec(5);
input_file.read(&vec[0], 5);
這不chomp空白字符。
不幸的是,我無法一次讀取整個文件,必須進行流式處理。另外,我不能使用第三個庫包,並且需要保持標準庫的使用。
這不是一個選項。文件太大,不適合內存,不幸的是:/ – Luca
Ahhhh ....是的,但這也不是一個選項。我應該在我的帖子中提到這一點。我會編輯它。我需要留在標準庫中。 – Luca
我編輯過的帖子更清晰。 – Luca