我通常使用 stringstream
写入内存中的字符串。有没有办法在二进制模式下写入字符缓冲区?考虑以下代码:
stringstream s;
s << 1 << 2 << 3;
const char* ch = s.str().c_str();
ch
上的内存如下所示: 0x313233-字符1、2和3的 ASCII 代码。我正在寻找一种方法来写入二进制值本身。也就是说,我想在记忆里看到0x010203。问题是我希望能够写一个函数
void f(ostream& os)
{
os << 1 << 2 << 3;
}
然后决定在外面使用什么样的溪流,像这样:
mycharstream c;
c << 1 << 2 << 3; // c.data == 0x313233;
mybinstream b;
b << 1 << 2 << 3; // b.data == 0x010203;
有什么想法吗?