判断IP地址是否输入正确,并获取IP的字段值

 

 

bool Entry_Ip(char *cmp_ip) {  int ip_1,ip_2,ip_3,ip_4;  char *ip=cmp_ip; char num[32];  memset(num,0,sizeof(num));  int ret =0;  ret =sscanf(cmp_ip,"%d.%d.%d.%d",&ip_1,&ip_2,&ip_3,&ip_4);

 if (ret ==4 &&(ip_1>0 && ip_1 <255) &&(ip_2>0 && ip_2<255) && (ip_3>0 && ip_3<255) && (ip_4>0 && ip_4 <255))  {   return true;  } return false; #if 0  int i=0,j=0; char ip_num[32];

 while(*ip) {   if (*ip !='.')   {    num[i] =*ip;    ip++;    i++;   }  else  {    j++;    ip++;  if (j ==3)  {     sprintf_s(ip_num,"%s", num);  printf("%s", ip_num);     break;  }  else  {     i=0;     memset(num,0, sizeof(num));  }   }  } #endif }

 

 

 

 

 

通过指针的移动可以改变字符串的大小

/*移除http头*/
m_server.recvdatsize -= headsize;
if( m_server.recvdatsize > 0 )
memmove( m_server.recvbuf, m_server.recvbuf+headsize, m_server.recvdatsize );

posted @ 2014-04-19 17:25  骨灰小菜鸟  阅读(371)  评论(0编辑  收藏  举报