ip地址转换为unsigned int,unsigned int 转换成ip地址

ip地址转换为unsigned int 方法:

例如ip地址“192.168.0.112”,四部分分别转换成整型的数t[4](利用atoi函数),转换后的数即为t[0]*(256^3)+t[1]*(256^2)+t[2]*256+t[3];


unsigned int 转换成ip地址方法:

定义联合体

union IP 
{
	unsigned char char_ip[4];
	unsigned int uint_ip; 
};
将整型数存入联合体中,利用char_ip[4]得出ip地址(利用itoa函数)


#include
using namespace std;

union IP 
{
	unsigned char char_ip[4];
	unsigned int uint_ip; 
};
unsigned int IptoUint(char * ip,int size)
{
	unsigned int t[4]; 
	int dot_ind[3]={0};//存储.位置
	int j=0;
	for(int i=0;i=0;i--)//由机器的大小端决定,此处是小端,即高位存在高地址,地位存在低地址
	{

		char tmp[4]="";
		itoa(ip.char_ip[i],tmp,10);
		strcat(pp,tmp);
		if(i>0)
		{
			char *dot=".";
			strcat(pp,dot);
		}
	}
	return pp;

}

int main()
{
	char s[20]="";//"255.255.255.255";
	cout<<"请输入ip地址:";
	cin>>s;
	cout<<"您输入的ip地址是:"<
ip地址转换为unsigned int,unsigned int 转换成ip地址_第1张图片

你可能感兴趣的:(面试题)