0

ostringstreamからにデータを書き込むには、次のofstreamように記述する必要があります。

std::ostringstream ss;
myFile<<ss.str();

一方、を使用するstringstreamと、バッファに直接アクセスできます。

std::stringstream ss;
myFile<<ss.rdbuf();

問題はostringstream::str()、私のプログラムには非常に巨大な文字列があるため、文字列のコピーを作成することです。これstringstreamは、読み取りのためにバッファに直接アクセスできるため、より良いはずです。そして、ここの人々は、出力操作だけを扱う場合は、 を使用ostringstreamするべきだと言います。stringstreamさまざまな種類のデータを挿入しているため、単純に文字列を使用することはできません。それで、誰かがこれに対処する方法についてアドバイスをくれませんか?

4

2 に答える 2

3

ここの人々は、出力操作のみを処理する場合は、stringstream よりも ostringstream を使用する必要があると言っています。

より具体的に使用する主な理由はostringstream、意図を明確にし、間違いを避けるためです。この場合stringstream、潜在的に大きな文字列のコピーを防ぐために必要なので、(慎重に) 使用してください。

于 2015-07-15T09:46:22.547 に答える