system,popen函数的使用(学习笔记)

system,popen函数的使用

   #include <stdlib.h>

       int system(const char *command);

  1 #include <stdio.h>
  2 #include <stdlib.h>
  3 #include <unistd.h>
  4 
  5 
  6 int main(void)
  7 {
  8         printf("before execl\n");
  9 //      if(execl("/bin/ls","ls",NULL,NULL) == -1)
 10         if(system("ps") == -1)
 11         {
 12                 printf("execl failed\n");
 13                 perror("why");
 14         }
 15         printf("after execl\n");
 16         return 0;
 17 }

popen函数的使用,比system的好处可以获取运行输出结果

 #include <stdio.h>

       FILE *popen(const char *command, const char *type);

       int pclose(FILE *stream);
       
	   size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);

因为要获取还需要用到fread,fread用法返回的是int型,其中*ptr是获取内容后放置的空间,size_t size是一次多少位获取,size_t nmemb获取多少次,FILE *stream是获取的字节流(内容)

  1 #include <stdio.h>
  2 #include <stdlib.h>
  3 #include <unistd.h>
  4 
  5 
  6 int main(void)
  7 {
  8         char ret[1024]={0};
  9         FILE *fp;
 10         fp = popen("ps","r");
 11         int nread = fread (ret,1,1024,fp);
 12         printf("read ret %d beyt,ret = %s",nread,ret);
 13         return 0;
 14 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值