循环遍历CreateProcess输出的每一行

时间:2014-01-21 23:32:32

标签: c++ createprocess

我试图解析下面代码生成的每一行而没有运气。

if( !CreateProcess( NULL,   
    "netstat -an",        
    NULL,           
    NULL,           
    FALSE,          
    0,              
    NULL,           
    NULL,           
    &si,            
    &pi )           
)
{
    printf( "failed" );
    return 0;
}

有没有办法逐行读取输出并对每一行做一些事情? 感谢。

1 个答案:

答案 0 :(得分:2)

您可以通过创建管道来完成此操作。将管道的写入端作为新进程标准输出传递。从管道的读取端读取。 MSDN有一个完整的demonstration

那里的代码向您展示了如何从子进程读取输出。如何将其解析为单独的行是一个不同的问题。我相信你的主要问题是如何掌握输出,解析是你已经知道如何做的。