在linux下 获取,修改网关GateWay的两个函数
2010-01-30 18:57
507 查看
//获去GateWay
//设置网关
QString GetGateWay() { FILE *fp; char buf[512]; char cmd[128]; char gateway[30]; char *tmp; strcpy(cmd, "ip route"); fp = popen(cmd, "r"); if(NULL == fp) { perror("popen error"); return ""; } while(fgets(buf, sizeof(buf), fp) != NULL) { tmp =buf; while(*tmp && isspace(*tmp)) ++ tmp; if(strncmp(tmp, "default", strlen("default")) == 0) break; } sscanf(buf, "%*s%*s%s", gateway); printf("default gateway:%s/n", gateway); pclose(fp); return QString(gateway); }
//设置网关
int SetGateWay(const char *szGateWay) { int ret = 0; char cmd[128]; QString DefGW = GetGateWay(); const char *strGW = DefGW.latin1(); strcpy(cmd, "route del default gw "); strcat(cmd, strGW); ret = system(cmd); if(ret < 0) { perror("route error"); return -1; } strcpy(cmd, "route add default gw "); strcat(cmd, szGateWay); ret = system(cmd); if(ret < 0) { perror("route error"); return -1; } return ret; }
相关文章推荐
- 在Linux下获取修改网关GateWay的两个函数
- linux 利用ioctl函数获取IP地址、子网掩码、MAC地址和修改本机IP地址、子网掩码、网关
- 在linux下 获取,修改子网掩码NETMASK的两个函数
- 在linux下 获取,修改本机IP地址的两个函数
- 在linux下 获取,修改子网掩码NETMASK的两个函数
- Linux修改网关Gateway、IP
- Linux下获取系统的IP,子网掩码,网关,MAC和配置文件的修改
- Linux下获取系统的IP,子网掩码,网关,MAC和配置文件的修改
- LINUX的网关是GATEWAY还是NETWORK?
- Linux下网关地址的获取
- Linux下获取文件大小,检索目录函数
- 【Linux】 CPU亲和性(affinity)及与亲和性有关的两个函数 sched_setaffinity()和 sched_getaffinity()
- ABAP 获取 状态的两个函数 STATUS_TEXT_EDIT 和 STATUS_READ 的简单介绍
- [Linux文件属性]使用chmod函数修改指定文件权限
- Linux编程:创建一个只包含两个函数的小型静态函数库
- 两个获取http页面的c#函数
- Linux内核中获取时间函数do_gettimeofday
- Linux命令行修改IP、网关、DNS的方法
- Linux命令行修改IP、网关、DNS的方法
- linux常用的时间获取函数(time,gettimeofday,clock_gettime,_ftime,localtime,strftime )