2012-09-27 176 views
0

獲取字符串我有一個名爲「MyApp.exe的」命令行應用程序,我想用這樣的:從標準輸入

DoSomething|MyApp.exe 

也就是說,DoSomething輸出一個字符串到標準輸出,然後管道將它作爲標準輸入到MyApp.exe中。

如何在MyApp.exe中接受此字符串?

UPD。

如果我想測試它,該怎麼辦? 我用公共的方法來開始我的應用程序的活動:

using (MyApp app = new MyApp()) 
{ 
result = app.Run(args); 
} 
If(result!=0) Assert.Fail("Failed"); 

即我需要在執行Run之前將一些數據寫入輸入流()

+0

重新測試 - 如果Console.Write不工作,我想你會需要編寫另一個應用程序啓動一個新的'MyApp的的Process',然後寫它的'.StandardInput'流。請參閱http://msdn.microsoft.com/en-us/library/system.diagnostics.process.standardinput.aspx – Sepster

回答

8

您可以使用Console.In來訪問stdin。

Console.ReadLine()這只是Console.In.ReadLine()的快捷方式。

+2

或者只是'Console.ReadLine()'(如果它是文本)。 –

+0

好的。謝謝。現在有個新問題:我如何模仿測試中的標準輸入? – Ksice

1

Console.ReadLine()用來讀取輸入