Qt GUI アプリケーションを作成しています (XSL 変換を行うため)。エラーメッセージをファイルに出力するには、次のような呼び出しを使用しています:
freopen("my-error-file.txt", "w", stderr);
// call to libxslt function, which possibly prints to stderr
fclose(stderr);
私が抱えている問題は、 my-error-file.txt がすぐに作成されるのに、コンテンツがないことです。アプリケーションを閉じると、エラーの内容がファイルに書き込まれます。これは適切な動作だと思いますが、実際に必要な動作は、GUI ウィンドウが閉じられているかどうかに関係なく、my-error-file.txt が書き込まれ、すぐに閉じられることです。
関数呼び出しがありませんか?
試してみfflush(stderr)
ましたが、効果がありませんでした。