首页 >后端开发 >C++ >如何从 C/C 中的 `system()` 命令无缝捕获标准输出?

如何从 C/C 中的 `system()` 命令无缝捕获标准输出?

Barbara Streisand
Barbara Streisand原创
2024-12-03 15:09:10492浏览

How Can I Seamlessly Capture stdout from a `system()` Command in C/C  ?

从 system() 命令无缝捕获 stdout

捕获使用 system() 命令启动的外部应用程序的 stdout 输出至关重要对于许多应用程序。在 C/C 中,有几种方法可以完成此任务:

一种最佳方法涉及利用 popen() 和 pclose() 函数:

#include <stdio.h>

int main() {
    FILE *fp;

    fp = popen("ls", "r");
    // Capture output and process accordingly
    pclose(fp);

    return 0;
}

使用 popen(),您可以打开一个通向您指定命令的标准输出的管道。 pclose() 函数关闭管道并等待命令完成,返回退出状态。

以上是如何从 C/C 中的 `system()` 命令无缝捕获标准输出?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn