1.在linux環(huán)境下,調(diào)用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變量是另一個函數(shù)調(diào)用返回的,是一個指針:函數(shù)調(diào)用原型:int read_data(int addr,char* data,int len)
實(shí)際調(diào)用方式:read_data(4, eth0_num,6);/*從地址4,讀6個字節(jié),到eth0_num*/3.但是運(yùn)行的時候回報錯:ifconfig: invalid hw-addr4.我打印eth0_num的值是:0x7e8b8bf4打印*eth0_num,*(eth0_num+1),*(eth0_num+2)的值是: 00 90 8f值沒錯,但是一直行不通,我試過另一種方式直接復(fù)制char *eth0_num="1eed19271ab3";然后調(diào)用execl,不使用從函數(shù)調(diào)用read_data的參數(shù),就能ifconfig成功5.各位給個意見,看如何才能通過傳變量參數(shù)的方式,因?yàn)槲倚枰獜钠渌胤阶x值回來
添加回答
舉報
0/150
提交
取消