要在C++中使用POSIX执行命令并获取命令输出,您可以使用popen()
函数。popen()
函数允许您执行一个命令并将其输出到一个文件流中,您可以使用该文件流读取命令的输出。以下是一个简单的示例:
#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()
函数时,您需要确保命令本身是安全的,以避免安全漏洞。
领取专属 10元无门槛券
手把手带您无忧上云