C语言实现字符串IP与整数型IP的相互转换
[cpp] view plain copy print?
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<malloc.h>
intmain(intargc,char*argv[])
{
constchar*ip="192.168.34.232";
char*ipstr=NULL;
charstr_ip_index[4]={''};
unsignedintip_int,ip_add=0,ip_int_index[4],ip_temp_numbr=24;
intj=0,a=3;
for(unsignedinti=0;i<=strlen(ip);i++)//要用到''
{
if(ip[i]==''||ip[i]=='.')
{
ip_int=atoi(str_ip_index);
if(ip_int<0||ip_int>255)
{
printf("IP地址有誤
");
system("pause");
return0;
}
ip_add+=(ip_int*((unsignedint)pow(256.0,a)));
a--;
memset(str_ip_index,0,sizeof(str_ip_index));
//for(intx=0;x<4;x++)
//{
//str_ip_index[x]='';
//}
j=0;
continue;
}
str_ip_index[j]=ip[i];
j++;
}
printf("%u
",ip_add);
//轉(zhuǎn)換成x.x.x.x
for(j=0;j<4;j++)
{
ip_int_index[j]=(ip_add>>ip_temp_numbr)&0xFF;
ip_temp_numbr-=8;
}
if((ipstr=(char*)malloc(17*sizeof(char)))==NULL)
{
return0;
}
sprintf(ipstr,"%d.%d.%d.%d",ip_int_index[0],ip_int_index[1],ip_int_index[2],ip_int_index[3]);
printf("%s
",ipstr);
free(ipstr);
ipstr=NULL;
system("pause");
return0;
}
轉(zhuǎn)換效果:
總結(jié)
以上是生活随笔為你收集整理的C语言实现字符串IP与整数型IP的相互转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Javascript 文件操作(整理版)
- 下一篇: [ipsec][strongswan]