我通常使用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;
有什么想法吗?
https://stackoverflow.com/questions/1559254
复制相似问题