为了账号安全,请及时绑定邮箱和手机立即绑定

linux中函数execl一直无法调用成功,如何正确地传参数?

linux中函数execl一直无法调用成功,如何正确地传参数?

Smart猫小萌 2018-08-10 16:22:44
1.在linux环境下,调用execl:if((pid=fork())<0){             printf("fork error\n");         }else if(pid==0){  /*child*/             if(execl("/sbin/ifconfig","ifconfig","eth0","hw","ether",eth0_num,NULL)<0){                exit(1);             }else{                exit(0);                     }     }2.其中eth0_num变量是另一个函数调用返回的,是一个指针:函数调用原型:int read_data(int addr,char* data,int len) 实际调用方式:read_data(4, eth0_num,6);/*从地址4,读6个字节,到eth0_num*/3.但是运行的时候回报错:ifconfig: invalid hw-addr4.我打印eth0_num的值是:0x7e8b8bf4打印*eth0_num,*(eth0_num+1),*(eth0_num+2)的值是: 00  90  8f值没错,但是一直行不通,我试过另一种方式直接复制char *eth0_num="1eed19271ab3";然后调用execl,不使用从函数调用read_data的参数,就能ifconfig成功5.各位给个意见,看如何才能通过传变量参数的方式,因为我需要从其他地方读值回来
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 1125 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信