2009-07-25 25 views
0

stdoutとstdinに問題があります。stdoutを使用してデータを格納すると、stdinを使用して同じデータを取得できません。だから私の問題を解決する方法を教えてください。 Ram標準入力と出力を

+0

最初にソースコードを投稿してください。 – akway

+6

ああああ!あなたはstdinとstdoutを完全に誤解しているようです - stdinは通常の入力文字を取得する場所です - 通常はキーボードです。 stdoutは通常のテキスト出力が行われる場所(printfなど)で、通常は画面上のターミナルウィンドウに設定されます。彼らは他のデバイスやファイルにリダイレクトすることができますが、通常はデバイスやファイルが異なります。 私たちはあなたが何をしようとしているのかを知る必要があると思います。 – Dipstick

+0

いくつかの* nixでは、実際にあなたのプログラムからstdinに書き込むことができ、それは蒸気に追加されますが、これは移植性がないか、実際には良いアイデアではありません。 –

答えて

2

stdoutに書き込むデータは、stdinでは自動的に使用できません。 stdoutストリームに書き込まれたデータは、そのストリームに接続されているどのプロセスでも読み取ることができます。通常は、プログラムが開始された端末またはコンソールです。また、パイプを通じて最初のプロセスに接続された別のプロセスでも、リダイレクトが使用されたときにファイルになる可能性もあります。

あなたは、ファイルdata.outにstdoutに書かれているものを格納します。この

$ program > data.out 

のようなリダイレクトを使用することができますあなたのプログラムが、その後の実行時に標準入力経由でstdoutに書いたデータを読みたい場合。その後、

$ program < data.out 

は...標準入力

でプログラムが利用可能なdata.outの内容は「このISN場合は、コードとあなたがやろうとしているもののいくつかのより詳細な説明を投稿してくださいになりますあなたが達成しようとしていたもの。

関連する問題