linux下C编程修改ip,Linux下c语言通过修改/etc/network/interfaces修改IP

#include//设置IP

void setip(char *buffer)

{

char * FILE_NAME = "/etc/network/interfaces";

FILE * file_fd;

int len = 0;

file_fd = fopen(FILE_NAME,"r+");

if(file_fd == NULL)

{

perror("errno");

}

//跳过开头的116个字节

fseek(file_fd,116,SEEK_CUR);

fwrite(buffer,strlen(buffer),1,file_fd);

fclose(file_fd);

}

//获取IP

void getip(char *buffer)

{

char * FILE_NAME = "/etc/network/interfaces";

FILE * file_fd;

int len = 0;

file_fd = fopen(FILE_NAME,"rb");

if(file_fd == NULL)

{

perror("errno");

}

//跳过开头的116个字节

fseek(file_fd,116,SEEK_CUR);

len = fread(buffer, 1, 13, file_fd);

if(len == -1)

{

printf("File read error!\n");

perror("errno");

}

fclose(file_fd);

}

int main(int argc, char * argv[])

{

char ipbuffer[20]="192.168.1.112";

setip(ipbuffer);

getip(ipbuffer);

printf("ipbuffer is:%s\n",ipbuffer);

system("reboot");

printf("rebooting!!!\n");

return 0;

}