我在C中的system()
调用中遇到了参数问题。
char macaddr[13];
uint8_t mac[6];
memset(macaddr, '\0', 13);
mac_get_ascii_from_file("/sys/class/net/eth0/address", macaddr);
system("rm /var/tuxbox/config/cxx.bin");
system("wget -P /var/tuxbox/config http://xxxxxxx/xx/cxx_%s.bin\n", macaddr);
功能'系统'
的参数太多了
答案 0 :(得分:4)
system()
不处理printf
样式参数。您需要先构建命令字符串,然后将其传递给系统。
e.g。
char cmd[512];
sprintf(cmd, "wget -P /var/tuxbox/config http://xxxxxxx/xx/cxx_%s.bin\n", macaddr);
// or snprintf(cmd, sizeof(cmd), "wget...
system(cmd);
(注意,不包括错误处理等。)
答案 1 :(得分:0)
就不要写
#include <stdlib.h>
如果您将其写在第一行或第二或第三行中