問題タブ [stdout]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - コンソール アプリケーションの出力を保存する方法
C# コンソール アプリケーションで標準出力を介してユーザーにテキストを表示し、後でアクセスできるようにする方法についてアドバイスが必要です。私が実際に実装したい機能は、プログラムの実行の最後に出力バッファー全体をテキスト ファイルにダンプすることです。
よりクリーンなアプローチが見つからないときに使用する回避策はTextWriter
、書き込みメソッドをオーバーライドしてサブクラス化し、ファイルへの書き込みと元の stdout ライターの両方を呼び出すことです。このようなもの:
ファイルへの書き込みとフラッシュが常に行われていることを確認してください。実行の最後にのみ実行したいのですが、出力バッファにアクセスする方法が見つかりませんでした。
また、上記のコードの不正確さを許してください (その場しのぎに書く必要がありました。申し訳ありません;)。
python - コンソールで描画するのに最適な方法は?
私はPythonでコンソール(ゲームコンソールではなく端末のように)ピンポンゲームを作成しようとしていますが、ゲームを(再)描画する最善の方法を理解するのに苦労しています。
2次元配列を一種のビットマップとして使用し、配列を編集してボール/パドルの新しい位置を反映させ、各行を文字列にキャストして印刷することを考えていました。ただし、これは古い「フレーム」が残ることを意味し、ゲームのサイズがコンソール ウィンドウよりも小さい場合は、古いフレームがまだ表示されます。
コンソールからキャラクターを削除する方法はありますか? '\b' は信頼できないと聞いたことがあります。
または、この種のアプリのコンソールに出力するためのより簡単な代替ルートはありますか?
python - 出力バッファリングを無効にする
Pythonのインタプリタでは、出力バッファリングがデフォルトで有効になっていますsys.stdout
か?
答えが肯定的である場合、それを無効にするすべての方法は何ですか?
これまでの提案:
-u
コマンドラインスイッチを使用するsys.stdout
書き込みのたびにフラッシュするオブジェクトでラップしますPYTHONUNBUFFERED
envvarを設定しますsys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
sys
実行中に/sys.stdout
プログラムでグローバルフラグを設定する他の方法はありますか?
perl - Perl で stderr、stdout、および終了コードを一度にキャプチャするにはどうすればよいですか?
Perl から外部プロセスを実行し、その stderr、stdout、およびプロセス終了コードをキャプチャすることは可能ですか?
これらの組み合わせを実行できるようです。たとえば、バックティックを使用して stdout を取得し、IPC::Open3 を使用して出力をキャプチャし、system() を使用して終了コードを取得します。
stderr、stdout、および終了コードを一度にキャプチャするにはどうすればよいですか?
c++ - system() コマンドから stdout を最適にキャプチャする
外部アプリケーションを起動しようとしていますsystem()
- たとえば、system("ls")
. 発生した出力をキャプチャして、別の関数に送信してさらに処理したいと考えています。C/C++ でそれを行う最善の方法は何ですか?
command-line - コンソールへのコマンドライン出力を介して Adobe AIR アプリケーションを実行できますか?
onInvoke を介してコマンドライン引数を取る AIR アプリケーションがあります。すべて問題ありませんが、一部のステータス メッセージをユーザーに (いわば標準出力/コンソールに) 表示する方法がわかりません。出来ますか?
トレース用のデフォルトのログ ファイルでも問題ありませんが、それに関する情報はどこにも見つかりません。独自のログ ファイルを作成する必要がありますか? それはばかげているでしょう。
shell - Stdin と Stdout をファイルにリダイレクト
私は現在、C 入門クラスのティーチング アシスタントを務めています。クラスは Visual Studio を使用して教えられていますが、採点の際には単純な Windows バッチ スクリプトを使用して、すべての課題提出物を処理し、コンパイルして、テスト ファイルで実行し、出力を印刷可能な一連のテキスト ファイルにリダイレクトします。出して、マークアップして、学生に返します。stdin をリダイレクトすると、同じ stdin がコンソールに直接入力された場合と同じように、リダイレクトされた stdout に表示されないという事実を除いて、プロセス全体は非常にうまく機能します。このため、コンソール用にフォーマットされたコードの出力は、リダイレクトされた出力に正しく表示されません。次のファイル スニペットは、この問題を示しています。簡単な解決策を知っている人はいますか?
ファイル: example.c
ファイル: input.txt
出力 (コンソール)
出力 (リダイレクト)
c# - RedirectStandardOutput は、瞬時ではなく行をバッファリングしていますか?
わかりました、Tail を使用してログ ファイルを監視しようとしていますが、同じパラメーターを使用して cmd プロンプトから手動で実行した場合と同じ動作をプログラムで取得できません。
cmd プロンプトを実行すると、新しい行が即座に表示されます。ただし、プログラム的には、「バッファ」がすべての行を解き放つ前に、ログ ファイルに約 75 行以上の新しい行が追加されるのを待つ必要があります。
ここに私が今持っているコードがあります。
以前に OutputDataReceived イベントを使用したことがありますが、これらのバッファリングやスパムの問題は一度もありませんでした。
私は今、とても混乱しています。
*編集*
CodeProject でこの wintail プロジェクトを見つけましたが、バッファによってこのソリューションが遅くなりすぎるため、それに切り替える予定です。
答えてくれてありがとう。
unix - stdin から最初の行を削除し、stdout にリダイレクトする
プログラムの最初の行を除くすべての stdout をファイルにリダイレクトする必要があります。
標準入力から行を削除し、残りを標準出力に吐き出す一般的な UNIX プログラムはありますか?
linux - Linuxでプロセスが別のプロセスのstdoutとstderrを傍受するにはどうすればよいですか?
実行を停止したはずのスクリプトがいくつかありますが、永遠にぶらぶらしています。彼らがSTDOUTとSTDERRに何を書いているのかを読みやすい方法で理解できる方法はありますか?
たとえば、次のことを試みました。
しかし、それは実際には機能しません。とにかく遠回りでした。
他のアイデアはありますか?
strace
それ自体は非常に冗長で、これを見るには判読できません。
注: 私は彼らのアウトプットだけに関心があり、他のことには関心がありません。私は自分で他のことを理解することができます。この質問は、実行中のプロセスの開始後に stdout および stderr にアクセスすることにのみ焦点を当てています。