什么是标准输出流?

时间:2012-06-13 00:40:08

标签: c# .net stream system.diagnostics

我的代码看起来或多或少像下面的代码,但它不会从我正在打开的应用程序(记事本)中检索文本。也许我错过了这一点。有人可以解释标准输出流是什么,实际上,如果我想打开一个应用程序然后检索它显示的文本,我是否想要使用它?

ProcessStartInfo psi = new ProcessStartInfo("notepad.exe", "c:\\test.txt");
psi.RedirectStandardOutput = true;
psi.UseShellExecute = false;

Process p = new Process();
p.StartInfo = psi;
p.Start();

string s = p.StandardOutput.ReadToEnd();

3 个答案:

答案 0 :(得分:3)

来自Wikipedia文章:

  

在计算机编程中,标准流是预先连接的输入和   计算机程序与其环境之间的输出通道   (通常是文本终端)开始执行时。三个I / O.   连接称为标准输入(stdin),标准输出   (stdout)和标准错误(stderr)。

如Joe所述,写入标准输入和输出的信息通常在控制台应用程序之间链接在一起。 Windows应用程序中显示的文本通常不遵循此模式,但它们确实有3个可用的标准流,它们通常不会写入它们。

答案 1 :(得分:2)

有三个标准流输入输出和错误。它们主要由控制台程序用于相互发送和输出。记事本是一个gui程序,标准输出和标准的概念并没有真正映射。使用的示例是dir | fndstr hi,在这种情况下,命令dir将其输出发送到fndstr的标准输入。

答案 2 :(得分:1)

标准输出流主要用于控制台输出。例如,如果在python中,则执行

print('hello world')

它将打印到标准输出流(也称为标准输出)。

要做你想做的事,你需要打开带有参数位置的记事本,要求用户以某种方式保存文件,然后读取用户保存的文件。