4

パイプを入力として受け入れる単純なコンソール アプリケーションを作成する必要があります。Windows Server 2012 を実行しています。データは、このアプリケーションに入力を「パイプ」する別のアプリケーションから取得されます。Linux の観点からはパイプを理解していますが、Windows の観点からはパイプをよく理解していません。

私の推測では、C:\app.exe < test.txt のように入力をアプリケーションに送信する必要があると思います。

「<」文字を使用する場合、私の現在の理解では、test.txt をストリームに変換し、ポインターを渡すということです。

私の質問は、入力を読み取ることができるように、ストリーム ポインター、またはアプリケーションのウィンドウ内のパイプに相当するものを受け取る方法の例を誰か教えてもらえますか?

4

1 に答える 1

5

アプリケーションを使用する<>、標準の入力および出力ストリーム (画面/キーボード インターフェイス) がファイル ストリームに置き換えられます。

通常のコマンドConsole.Readとコマンドを使用して、ディレクティブでConsole.ReadLine指定されたストリームから読み取るか、 which is を使用できます。<Console.InTextReader

同様にConsole.Writeandを使用して、ディレクティブで指定されConsole.WriteLineた出力ストリームに書き込むことができます。>Console.OutTextWriter

|たとえば、パイプ ディレクティブを使用するmyapp.exe | sortと、最初のプログラムの出力ストリームが次のプログラムの入力ストリームに入ります。

于 2013-03-20T14:08:02.243 に答える