阅读量:0
在C++中,你可以使用popen()
函数来执行CMD命令并获取其输出
#include<iostream> #include<string> #include <cstdio> std::string exec_cmd(const char* cmd) { std::string result; char buffer[128]; FILE* pipe = popen(cmd, "r"); if (pipe != nullptr) { while (fgets(buffer, sizeof(buffer), pipe) != nullptr) { result += buffer; } pclose(pipe); } else { throw std::runtime_error("popen() failed!"); } return result; } int main() { try { std::string output = exec_cmd("ipconfig"); // 将你想要执行的CMD命令替换为"ipconfig" std::cout << "Command output: "<< std::endl<< output<< std::endl; } catch (const std::exception& e) { std::cerr << "Error: " << e.what()<< std::endl; } return 0; }
这个示例代码定义了一个名为exec_cmd()
的函数,该函数接受一个CMD命令字符串作为参数。然后,它使用popen()
函数执行命令并读取输出。最后,将输出作为std::string
返回。
在main()
函数中,我们调用exec_cmd()
函数并传入我们想要执行的CMD命令(在这个例子中是ipconfig
)。然后,我们将命令的输出打印到控制台。
请注意,这个示例代码仅适用于Unix-like系统(如Linux和macOS)。如果你正在使用Windows系统,你需要将popen()
和pclose()
替换为_popen()
和_pclose()
,并包含<windows.h>
头文件。