1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > linux 修改网卡配置信息IP netmask gateway(附C语言实现代码)

linux 修改网卡配置信息IP netmask gateway(附C语言实现代码)

时间:2019-03-24 02:31:24

相关推荐

linux 修改网卡配置信息IP netmask   gateway(附C语言实现代码)

方法一:直接一条Linux shell命令就可以修改,立即生效,但是只是暂时的。

方法二:直接修改网卡配置文件,就是长久的。

改好文件后,记得重启一下网卡,这样才能生效。

方法三:用C语言实现上面方法二的操作。

/*jupiter*///数组可以直接放想要修改的值 //比如char IP[20]={0}; //char IP[20]="192.168.0.157";char netmask[20]={0};//char netmask[20]="255.255.255.0";char gateway[20]={0};void setip(char *buffer,char *netbuf,char *gatebuf){char * FILE_NAME = "/etc/network/interfaces";FILE * file_fd;//int len = 0;file_fd = fopen(FILE_NAME,"r+");if(file_fd == NULL){perror("errno");}//跳过开头的172个字节fseek(file_fd,172,SEEK_CUR);fwrite(buffer,strlen(buffer),1,file_fd);//printf("offset1=%d\n",ftell(file_fd)); //可以打印出来看当前文件位置标识符的值fseek(file_fd,10,SEEK_CUR);fwrite(netbuf,strlen(netbuf),1,file_fd);//printf("offset2=%d\n",ftell(file_fd));fseek(file_fd,10,SEEK_CUR);fwrite(gatebuf,strlen(gatebuf),1,file_fd);//printf("offset3=%d\n",ftell(file_fd));fclose(file_fd);}int main(){ setip(IP,netmask,gateway);system("/etc/init.d/networking restart"); //调用linux的shell命令重启网卡//直接用字符串的不用下面几句,如果IP等数据是后续自己通过别的方式填的,就要注意是否需要给字符串加结束符,保证二次修改IP不会出现问题。IP[0]='\0'; netmask[0]='\0';gateway[0]='\0';}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。