这样的任务是值得的。有一个大文件,必须逐字符读取。同时,有必要不断地把读到的最后几个字符保存在内存中。
#include <fstream>
#include <vector>
using std::vector, std::ios, std::ifstream;
int main() {
ifstream fIle;
fIle.open("myfile.bin", ios::in|ios::binary);
char ch;
vector<char> chm(8);
while(fIle.get(ch)) {
// и тут я запутался
}
这是实现这一点的最佳方法吗?读取 8 个字节的块是不可能的!必须严格逐字节读取,同时将最后读取的 8 个字节(包括刚刚读取的字节)保存在内存中......
好吧,阅读如何使用循环缓冲区...
找到了更直观的答案: