我有由const unsigned char *p
和描述的字节序列中的二进制数据size_t len
。我希望能够将此数据传递给需要std::istream *
.
我认为我应该能够做到这一点,而无需复制数据、不安全的强制转换或编写新的流类。但到目前为止,我失败了。任何人都可以帮忙吗?
更新
感谢大家的评论。这似乎是一个无法回答的问题,因为std::istream
使用char
和转换在某些时候至少需要从unsigned char
.
务实的做法是这样做:
std::string s(reinterpret_cast<const char*>(p), len);
std::istringstream i(s);
并传递&i
给期待的函数std::istream *
。