Windowsで次のコマンドを入力しています:
C:\> abc.exe -t"param1" >> lofile.txt 2>&1
STDOUT と STDERR の両方が出力ファイルにリダイレクトされていますが、問題があります。
最初にプログラムが開始されると、10 行の STDERR が出力され、次に約 100 行の STDOUT が出力され、さらに数行の STDERR が出力されます。コンソール (コマンド プロンプト) では、順序は正しいです。しかし、上記のコマンドを使用してファイルにリダイレクトすると、印刷の順序が正しくありません。
最初に STDOUT が出力され、次に STDERR 出力の間のどこかで出力されます。配列が正しくないのはなぜですか?