我使用cv::Mat
将image/jpeg
编码为vector<uchar>
到char *
现在我想将该矢量转换为vector<uchar> buf;
// print buf to stdout to ensure that data is valid here
for (auto c : buf)
cout << c << endl;
// cast vector to char
char *ch = reinterpret_cast<char*>(buf.data());
// print out value of char pointer
for(int i = 0; ch[i] != '\0'; i++)
printf("log: %c\n", ch[i]);
类型。
std::vector<T>
向量上的for循环取自this question。
从char *
到buf
的演员阵容取自this question。
现在问题是在类型转换期间似乎有一些数据丢失。鉴于????
包含有效数据,我始终只获得ch
打印的值/** Check if obj is a T, including base classes. */
template <class T>
inline bool is_a(const basic &obj)
{
return dynamic_cast<const T *>(&obj) != 0;
}
。
这里发生了什么想法?