假设我执行一些命令在C ++程序中的终端中运行。例如:
int main(){
std::system("./myprog");
return 0;
}
假设myprog产生一些打印到控制台的输出。我可以在C ++程序中使用此输出吗?例如:
int main(){
some_var = std::system("./myprog");
if (some_var == "something")
// Do something.
return 0;
}
非常感谢任何帮助。再次感谢。
答案 0 :(得分:3)
您需要使用popen
功能:
FILE *fp = popen("./myprog", "r");
char buffer[128];
while (fgets(buffer, sizeof(buffer), fp))
{
std::cout << "Output from program: " << buffer << '\n';
}
pclose(fp);