IP地址转换整型(算法练习)

匿名 (未验证) 提交于 2019-12-02 23:43:01
 // ipTrans.cpp : 定义控制台应用程序的入口点。 //  #include "stdafx.h" #include <windows.h>  typedef union { 	unsigned char data[4]; 	unsigned int ip; }IP;  unsigned int TransIP(char *pstrIp) { 	IP ipstr = {0}; 	unsigned char temdata[3] = {0}; 	int i = 0, k = 0, point = 0, t = 0;  	while(pstrIp[i] != '\0'){ 		 		if(pstrIp[i] != '.') 		{ 			  		 			 if(point > 0) 			 { 				 ipstr.data[k++] = (temdata[0] - '0')*100 + (temdata[1] - '0')*10 +(temdata[2] - '0'); 				 point = 0; 				 t = 0; 			 } 			 temdata[t++] = pstrIp[i];			 		} 		else 		{ 			point++; 		}  		i++; 	}  	ipstr.data[k] = (temdata[0] - '0')*100 + (temdata[1] - '0')*10 +(temdata[2] - '0'); 	return ipstr.ip; }   int _tmain(int argc, _TCHAR* argv[]) { 	char *ipstr = "169.254.142.150"; 	unsigned int ip = TransIP(ipstr); 	printf("%s转换为整数为%u", ipstr,ip); 	system("pause"); 	return 0; }  

上面是在vs2010上编写的代码,运行结果如下

文章来源: https://blog.csdn.net/muaxi8/article/details/92660483
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!