如何将"std::vector"<uchar>保存到"std::ostream"中?
How to save `std::vector<uchar>` into `std::ostream`?
例如,我们已经创建并填充了一些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
,如果您喜欢一些错误检查工具。
根据您想要的输出格式,您可以将copy
与ostream_iterator
结合使用:
#include <iterator>
/*...*/
copy( v.begin(), v.end(), ostream_iterator<uchar>(my_stream,"") );
相关文章:
- 如何将二进制格式的 C++ 对象的 std::vector 保存到磁盘?
- std::矢量保存 只推送最后一个元素
- std::map 保存任何值类型
- 如何使用 FGETS 获取文本,并保存 std::string
- 如何将 std::string 作为构造函数参数传递,并将其保存的 C 字符串存储在 void 指针中?
- 无法绑定可变参数函数并保存到 std::函数
- 问题 (std::bad_alloc) 通过 QThread 中的 QSqlQuery 将大图像(约 36 MB)保存到
- 有没有办法自动初始化 std::shared_ptr 来保存有效对象?
- 在 Oracle12c 中保存 std::map<int, std::vector<int>>
- 如何诊断保存和加载位向量(std::vector)的奇怪行为<bool>?
- 如何创建一个function_list<>类来保存具有相同模板语法的 std::function<>s 向量?
- 使用 std::cout 将"\r"写入文件会保存以前覆盖的行
- 使用 std::vector 保存 BMP 像素图
- std::vector中的对象未正确保存属性
- CGAL 如何将 std::vector<Point> 点保存到 .xyz 文件中?
- 可以使用 std::p air 保存三种数据类型的向量
- 在std ::或std :: unordered_set上保存插入顺序
- C 使用STD相交集合并将其保存在另一组中
- 使用有趣的类型(如 std::string)来保存一些令牌类型
- 从存储在std :: vector中的数据中创建和保存图片