易网时代-编程资源站
Welcome
微信登录
编程资源
图片资源库
蚂蚁家优选
PDF转换器
软件资源
软件开发
、
小程序制作
、
系统集成与运维
、
空间租用
、
硬件开发
、
视频监控
、
技术咨询与支持
——联系电话:0311-88999002/88999003
首页
/
操作系统
/
Linux
/
在Linux下获取修改网关GateWay的两个函数
//获去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 "
, 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;
}
收藏该网址
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图