2012-09-27 180 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()用来读取输入