使用C#中的CLI应用程序的StandardOutput始终为空

时间:2017-10-06 12:59:55

标签: c# redirectstandardoutput

我正在尝试与用Fortran编写的旧CLI应用程序进行交互。

问题是,我甚至无法读取程序的输出。阅读各种SO问题我尝试了以下代码:

UNAME1          C1         C2         C3
------- ---------- ---------- ----------
Anne             1          2          3
Bob              3          1          0
Charlie          4          5          1
Total            8          8          4


4 rows selected.

但是......没有任何反应。用System32文件夹中的通用ipconfig.exe替换Fortran exe实际上有效,我可以读取输出。

更新:在VS中来回测试时我注意到当我关闭窗口时,正确的输出会出现几分之一秒。 似乎输出已存在,但在关闭窗口之前不会显示

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

Process.BeginOutputReadline()可能会阻塞,直到收到新的行char。我会尝试直接从OutputStream对象读取字节。