如何在c++中重定向读取bash脚本的输出

How to redirect output from reading a bash script in c++?

本文关键字:bash 脚本 输出 读取 重定向 c++      更新时间:2023-10-16

我知道函数:

system("myfile.sh")

执行bash脚本。好的,但是现在我想把输出重定向到我的程序,以确保读取。例如,脚本date.sh给了我系统的日期,我想在我的程序中使用std::cout <<OUTPUTDATE;这可能吗?如何?

popen代替system

函数popen会给你一个FILE *,你可以从中读取。

FILE *script = popen("myfile.sh", "r");
while (fgets(line, LENGTH, script)) {
    /* ... */
}
pclose(script);