如何在C/C++中捕获system()的结果

mak*_*ake 6 c c++ sockets

可能重复:
如何从C运行外部程序并解析其输出?

嗨,

请问有人请告诉我们在执行system()函数时如何捕获结果?

实际上我写了一个显示机器IP地址的c ++程序,名为"ipdisp",我希望当服务器程序执行这个ipdisp程序时,服务器会占用显示IP地址.那么,这可能吗?如果有,怎么样?

谢谢你的回复

Gre*_*ill 8

是的,你可以这样做,但你不能使用system(),你必须使用popen().就像是:

FILE *f = popen("ipdisp", "r");
while (!feof(f)) {
    // ... read lines from f using regular stdio functions
}
pclose(f);
Run Code Online (Sandbox Code Playgroud)