相关疑难解决方法(0)

C++中是否存在二进制内存流

我通常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)

有任何想法吗?

c++ iostream

53
推荐指数
3
解决办法
5万
查看次数

标签 统计

c++ ×1

iostream ×1