1

C++ 標準ライブラリを使用して、フォーマットされていないデータをメモリに書き込む方法を探しています。istream/ostream を継承し、ifstream/ofstream のように機能するが、ディスク上のファイルの代わりにメモリを使用するクラスが必要です。

このようにして、istream と ostream を操作し、operator<< と operator>> を使用してバイナリ データを読み書きできます。データがメモリにストリーミングされているか、ディスクにストリーミングされているかを知る必要はありません。

おそらく istringstream/ostringstream は、operator<< と operator>> を介してフォーマットされていない出力を書き込むように構成できると思いましたが、これを行う簡単な方法がわかりませんでした。

なのでC++の標準ライブラリやboostではこのようなものを見つけることができませんでしたが、あるべきもののように思えます。どんなアドバイスでも大歓迎です!

4

1 に答える 1

2

<<and>>演算子を使用してフォーマットされていないデータを読み書きすることはできませんが(これらはテキストの入力と出力のみを処理します)、write出力ストリームのreadメソッドと入力ストリームのメソッドを使用できます。

std::string実際には、それが保持するデータ(およびその出力/入力バリアント)を使用できるはずですstringstream

于 2013-08-10T17:05:47.007 に答える