0

複雑なロジックを持つオブジェクトを提供する C++ ライブラリがあります。std::coutこれまでのところ、単一のライブラリ コマンドが実行されると、多くのオブジェクトが出力を出力します。このために Qt GUI を作成したい (コンソール出力ではなくテキスト ウィジェットに出力する) ため、std::coutより柔軟なものに変更する必要があります。パラメータへの参照をstd::stringstreamメイン オブジェクトに渡し (そしてそれを下位オブジェクトに渡します)、すべての "std::cout << " を "stream << " に置き換えました (ストリームは std::stringstream です)。

ほとんどの出力が失われるため、機能しません。文字列ストリームから取得したい場合、それはとてつもなく小さいです (ほんの数文字)。私が行うとstream << var1 << var2 << var3、var3のみが利用可能になるようです。

この問題を解決する方法がわかりません。への参照をメイン オブジェクト パラメータとして渡した場合std::cout、コンソールではすべて問題ありませんが、GUI アプリケーションでは機能しません (std::cout から出力を取得できないと思います)。

streamstring を悪い方法で使用しているかどうか教えてください。または、出力を取得するためのより良い方法があれば教えてください (stringstream の代わりに別のものを使用してください)。よろしくお願いします。

4

1 に答える 1

0

freopen("out.txt","w",stdout); を使用できます。プログラムの開始時に。

于 2013-01-27T03:31:16.650 に答える