gpt4 book ai didi

c++ - 将 std::istream 直接连接到 C-Array/unsigned char *

转载 作者:太空狗 更新时间:2023-10-29 21:25:00 25 4
gpt4 key购买 nike

我目前正在处理一个自定义缓冲区类,该类在其内部以经典 C 数组(unsigned char[])传输其数据。

为了更方便地对该缓冲区进行读/写访问,我一直在寻找一种方法来构造一个直接连接到 POD 内容的 std::istream 对象……也就是 C 数组内存。目标是使用所有 std::stream 格式化程序,实际数据“lorem ipsum”应该直接写入缓冲区。所以像这样:

std::istream QuirkyBuffer::getIStream() { return std::istream(this->ptr, this->size); }

QuirkyBuffer d;
auto is = d.getIStream();
"lorem ipsum" >> is;

这有可能吗?

最佳答案

您可以为此使用 std::ostrstream。它已被弃用,但考虑到它的实用性,我无法想象它会很快消失。

否则,编写自己的 omemstream 非常简单。

关于c++ - 将 std::istream 直接连接到 C-Array/unsigned char *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14688382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com