gpt4 book ai didi

c++ - 如何将 `std::vector` 保存到 `std::ostream` 中?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:14:54 25 4
gpt4 key购买 nike

我们已经创建并填充了一些 std::vector<uchar>openCV imencode 例如。现在我们想将它流式传输到一些 http_lib 中,它可以采用某种 ostream。 (ostringstream) 例如,或者我们只是想在使用 ofstream 调试我们的程序时保存。所以我想知道如何把 std::vector<uchar>进入std::ostream

最佳答案

使用write :

void send_data(std::ostream & o, const std::vector<uchar> & v)
{
o.write(reinterpret_cast<const char*>(v.data()), v.size());
}

ostream 需要裸char,但通过强制转换该指针将uchar 视为那些很好。在较旧的编译器上,您可能不得不说 &v[0] 而不是 v.data()

您可以将 write() 的结果作为另一个 std::ostream& 返回,或者作为 bool 如果您喜欢一些错误检查工具.

关于c++ - 如何将 `std::vector<uchar>` 保存到 `std::ostream` 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8143090/

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