我正在尝试重新引导Process的标准输出,但我希望逐行重新引导,因为其他进程输出而不是一次性完成。现在我的代码看起来像这样:
proc->StartInfo->FileName = "ping.exe";
proc->StartInfo->UseShellExecute = false;
proc->StartInfo->RedirectStandardOutput = true;
proc->StartInfo->Arguments = "-n 1 www.google.com";
proc->Start();
StreamReader^ stream = proc->StandardOutput;
if(stream){
//String^ s = stream->ReadToEnd();
//Console::WriteLine(s);
proc->WaitForExit();
while(stream->Peek() >= 0)
{
Console::WriteLine(stream->ReadLine());
}
}
但它要做的是在打印所有Ping输出之前等待进程退出。如果您本机运行ping,您可以看到在发出HTTP请求时,输出会定期发生。我基本上希望输出排队并逐行重新定向。
答案 0 :(得分:0)
知道了:
String^ s;
//Console::WriteLine(s);
//proc->WaitForExit();
while(s=stream->ReadLine())
{
Console::WriteLine(s);
}
这有效