C++ system() 函数 — 如何收集发出的命令的输出?

标签 c++ popen

我正在使用 C++ system() 函数运行一些命令:

int system ( const char * command );

如何从发出的命令中收集标准输出?

具体来说,我想收集发出的命令的输出(例如,发出 dir 命令的目录列表输出)。

最佳答案

您是在寻找已执行命令的返回值(如“退出状态”),还是它的输出(如“打印了什么”)?

如果是后者,使用popen()pclose()相反。

如果是前者,请查看 system() 的返回值(并使用 waitpid() 的文档来解释它)。

关于C++ system() 函数 — 如何收集发出的命令的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1583234/

相关文章:

c++ - 不同类的虚函数共享相同的(无效的?)内存地址

python - 如何使用 subprocess 模块与 ssh 交互

c - 使用 C 编程使用 POPEN 将值存储到字符串中

c++ - 循环中的随机函数

c++ - 获取 block 设备的大小 Linux/Windows

c - popen 在进程之间传递二进制数据

c++ - 强制文件描述符关闭以便 pclose() 不会阻塞的方法?

C 检测 popen 子进程中的错误

c++ - 为什么 C++ 允许在运行时将数组大小传递给函数以构造固定大小的数组?

c++ - 在类中声明和定义的静态常量变量。如何在同一项目中另一个类的私有(private)访问中访问它。是否可以?