我正在研究 opencv with c ++
我得到了用python (reference)写的代码的引用
我只是想知道如何在 c ++
sys.stdout.write( frame.tostring() )
如果需要,请指定标题
帮助
我将python代码转换为c ++ BUT
但它突然出现了一个错误的说法
我正在使用 Opencv2.3
error: ‘struct _IplImage’ has no member named ‘tostring’
答案 0 :(得分:2)
写入标准输出(这是sys.stdout
.write
在Python中的作用)通常通过std::cout
流和<<
运算符完成:
std::cout << frame.tostring();
包含<iostream>
标题。 cout
对象是std::ostream
的后代,因此您可以使用文档说明可以使用ostream
执行所有操作。
您也可以使用C风格的I / O. printf
和puts
函数(在<cstdio>
标题中)将字符串写入标准输出:
std::printf("%s", frame.tostring().c_str());
std::puts(frame.tostring().c_str()); // also writes '\n' afterward
这里我假设您的tostring
函数返回std::string
; C风格的函数只打印以空值终止的char
指针,而不是string
,所以我打电话给c_str
。另一方面,<<
运算符被重载以处理大多数常见的C ++类型,因此您可以在不调用额外函数的情况下打印它们。