Linux系统,c代码里执行shell命令重定向问题
Linux系统,c代码里执行了一条shell命令,比如"ls-l",想把执行命令的结果重定向到一块内存里而不是打印到屏幕应该怎么做呢?...
Linux系统,c代码里执行了一条shell命令,比如 "ls -l",想把执行命令的结果重定向到一块内存里而不是打印到屏幕应该怎么做呢?
展开
2个回答
展开全部
你可以试试popen 这个函数去实现下:
#include <stdio.h>
#include <string.h>
int main(void)
{
char tmp_buf[1024+1];
FILE *fp;
memset(tmp_buf, 0, sizeof tmp_buf);
fp = popen("ls -l", "r");
if(fp != NULL)
fgets(tmp_buf, sizeof(tmp_buf), fp);
printf("out:[%s]\n", tmp_buf);
pclose(fp);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询