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