首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用POSIX执行命令并在C++中获取命令输出?

要在C++中使用POSIX执行命令并获取命令输出,您可以使用popen()函数。popen()函数允许您执行一个命令并将其输出到一个文件流中,您可以使用该文件流读取命令的输出。以下是一个简单的示例:

代码语言:cpp
复制
#include<iostream>
#include<stdio.h>
#include<string>

int main() {
    std::string command = "ls";
    FILE *stream = popen(command.c_str(), "r");

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

    return 0;
}

在这个示例中,我们使用popen()函数执行ls命令,并将其输出传递到一个文件流中。然后,我们使用fgets()函数从文件流中读取输出,并将其打印到控制台。最后,我们使用pclose()函数关闭文件流。

请注意,在使用popen()函数时,您需要确保命令本身是安全的,以避免安全漏洞。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 领券