我正在做一个分配,在该分配中我需要将位写入缓冲区,一旦缓冲区填充了8位,我就会刷新。 (霍夫曼压缩)C++中的位缓冲区
我有一个问题,在输入过程中分配/保存中间阶段。所以我做了一些小测试,如
char buf = 0;
cout << (buf | (1 << 1));
buf = (buf | (1 << 1));
cout << buf;
但不明白为什么我不能保存中间阶段。 ,它的输出将是:
2"happy face"
,而不是
22
能否请你教教我如何保存中间阶段?
基本上,我需要逐位写入缓冲区,一旦缓冲区是一个字节,我会将其刷新到我的输出文件。
当找不到的时候,你应该尝试使用无符号类型,它在许多情况下使事情变得更容易。 – PlasmaHH