在 Ubuntu 系统的 C++ 程序中,可以使用 "popen()" 函数获取命令行输出。以下是一个示例代码,展示如何使用 popen() 函数执行 "ls" 命令并获取其输出:

#include <iostream>
#include <stdio.h>

int main() {
    FILE* fp = popen("ls", "r");
    if (fp == NULL) {
        std::cout << "Failed to run command" << std::endl;
        return 1;
    }

    char buffer[128];
    while (fgets(buffer, sizeof(buffer), fp) != NULL) {
        std::cout << buffer;
    }

    pclose(fp);
    return 0;
}

在这个示例中,我们首先使用 popen() 函数执行 "ls" 命令并打开一个文件指针,然后使用 fgets() 函数逐行读取命令行输出并打印到屏幕上。最后,使用 pclose() 函数关闭文件指针。

需要注意的是,popen() 函数在执行命令时会创建一个子进程,因此需要在使用完输出后调用 pclose() 函数来关闭子进程,以释放系统资源。

Ubuntu C++ 获取命令行输出 - popen() 函数示例

原文地址: https://www.cveoy.top/t/topic/prps 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录