我正在做一个任务,需要将位写入缓冲区,一旦缓冲区填满8位,就需要进行刷新。(哈夫曼压缩)
我在输入过程中保存中间阶段时遇到了问题。所以我进行了一个小测试,例如
char buf = 0;
cout << (buf | (1 << 1));
buf = (buf | (1 << 1));
cout << buf;
但是我不明白为什么无法保存中间阶段。输出结果如下:
2"happy face"
替代
22
请问您能教我如何保存中间阶段吗?
基本上,我需要逐位写入缓冲区,一旦缓冲区达到一个字节,我就会将其刷新到输出文件中。