linux-popen-函数Linux下使用popen执行shell命令
popen()是一个标准C库函数,用于在一个新进程中执行一个shell命令,并返回该进程的标准输出或标准输入流。它的原型如下:
FILE *popen(const char *command, const char *mode);
其中,command是要执行的shell命令,mode是打开流的模式,可以是"r"(读取)或"w"(写入)。popen()函数的返回值是一个文件指针,可以像操作普通文件一样使用它进行读写操作。
下面是一个使用popen()函数的例子,它执行一个shell命令并输出结果到标准输出:
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fp;
char buffer[1024];
fp = popen("ls -l", "r");
if (fp == NULL) {
fprintf(stderr, "Failed to execute command\n");
exit(1);
}
while (fgets(buffer, sizeof(buffer), fp) != NULL) {
printf("%s", buffer);
}
pclose(fp);
return 0;
}
这个例子执行了一个"ls -l"命令,并将结果输出到标准输出。需要注意的是,在使用完popen()函数后,一定要使用pclose()函数关闭文件指针,以释放资源。
原文地址: https://www.cveoy.top/t/topic/rCI 著作权归作者所有。请勿转载和采集!