我通常stringstream用来写入内存中的字符串.有没有办法在二进制模式下写入char缓冲区?请考虑以下代码:
stringstream s;
s << 1 << 2 << 3;
const char* ch = s.str().c_str();
Run Code Online (Sandbox Code Playgroud)
内存ch将如下所示:0x313233 - 字符1,2和3的ASCII代码.我正在寻找一种自己编写二进制值的方法.也就是说,我想在内存中使用0x010203.问题是我希望能够编写一个函数
void f(ostream& os)
{
os << 1 << 2 << 3;
}
Run Code Online (Sandbox Code Playgroud)
并决定使用什么样的流.像这样的东西:
mycharstream c;
c << 1 << 2 << 3; // c.data == 0x313233;
mybinstream b;
b << 1 << 2 << 3; // b.data == 0x010203;
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?