将uchar *数据写入文件

时间:2015-01-22 16:45:00

标签: c++

我正在使用OpenCV库,它有一个名为Mat的类,表示一个矩阵,数据存储在uchar* Mat::data的数组中。我想用C ++将这些数据写入二进制文件。

这是我的代码:

cv::Mat m(3, 3, CV_8UC1); // This basically creates a 3-by-3 matrix
std::fstream fileOut("file.bin", std::ios::out | std::ios::binary);
fileOut.write((char*)m.data, 9); // This should write 9 bytes of data

我收到错误消息:

invalid conversion from ‘uchar* {aka unsigned char*}’ to ‘std::basic_istream<char>::char_type* {aka char*}’

我应该采取哪些不同的方式?

1 个答案:

答案 0 :(得分:0)

这是C ++中的非法转换

使用reinterpret_cast<const char*>(m.data)