通过调用system()函数,首先确定你要root权限,这样才能运行ifconfig
#include
#include
#include
int get_ip(char *ip)
{
char buf[1024];
FILE *fp=NULL;
int nCount;
char *pStr=buf;
char *pStr1;
int ret = -1;
system("ifconfig eth0 >/tmp/tmpip");
fp = fopen("/tmp/tmpip","r");
while(1)
{
nCount = fread(pStr,sizeof(char),1024,fp);
pStr += nCount;
if(feof(fp))
{
break;
}
}
if((pStr=strstr(buf,"inet addr:"))!=NULL)
{
pStr1 = strstr(pStr+10," ");
snprintf(ip,(int)pStr1-(int)pStr-9,"%s",pStr+10);
printf("/nip=======[%s]/n/n",ip);
ret = 0;
}
else
{
ret = -1;
goto error;
}
error:
fclose(fp);
system("rm /tmp/tmpip");
return ret;
}