と で記述されたバイト シーケンスのバイナリ データが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 *
ます。