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 );