c++中执行cmd命令的输入输出重定向如何实现

avatar
作者
猴君
阅读量:0

在C++中,你可以使用popen()函数来执行CMD命令并获取其输出

#include<iostream> #include <fstream> #include<string>  int main() {     // 要执行的CMD命令     std::string cmd = "dir";          // 创建一个文件流,用于读取命令执行结果     FILE* pipe = popen(cmd.c_str(), "r");     if (!pipe) {         std::cerr << "Failed to execute command."<< std::endl;         return 1;     }      // 从文件流中读取命令执行结果     char buffer[128];     std::string result;     while (fgets(buffer, sizeof(buffer), pipe)) {         result += buffer;     }      // 关闭文件流     pclose(pipe);      // 输出命令执行结果     std::cout << "Command output: "<< std::endl<< result<< std::endl;      return 0; } 

这个示例中,我们使用popen()函数执行了dir命令,然后从返回的文件流中读取命令执行结果。最后,我们将结果输出到控制台。

注意:popen()函数在Windows和Linux平台上都可以使用,但是在某些系统上可能需要安装额外的库。在使用前,请确保你的系统支持该函数。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!