解析IP草稿

/*
#include <stdio.h> 
#include <stdlib.h> 
int main(int argc, char const *argv[])
{
	const char *str="8003ABC";//800ABC结果是800
	char tem[4];
	for(int i=0;i<4;i++)
		tem[i]=str[i];
	printf("%d\n",atoi(tem) );
}
*/
#include<string.h>//分割
#include<stdio.h>
#include <stdlib.h> //-----------"123"==123 atoi
int main(void)
{
    char input[]="192.168.1.2";
    char *p,i=0;
    unsigned char ip[4]={0};/*unsigned 去掉的话你试试看*/
    /*strtok places a NULL terminator
    infront of the token,if found*/
    p=strtok(input,".");
/*    
    if(p){
        printf("%s\n",p);
        ip[0]=atoi(p);}
    p=strtok(NULL,".");
    if(p){
        printf("%s\n",p);
        ip[1]=atoi(p);}
     p=strtok(NULL,".");
    if(p){
        printf("%s\n",p);
        ip[2]=atoi(p);}
    p=strtok(NULL,".");
    if(p){
        printf("%s\n",p);
        ip[3]=atoi(p);}

    for(i=0;i<4;i++)printf("%d ",ip[i]);
    */
   
   while(p)
   {
	 ip[i++]=atoi(p);
	 p=strtok(NULL,".");
   }
   for(i=0;i<4;i++)printf("%d ",ip[i]);
    return 0;
 
}

猜你喜欢

转载自blog.csdn.net/weixin_42381351/article/details/84855752