怎么用c/c++将将ip地址转换成整数
来源:网络收集 点击: 时间:2024-04-06首先打开vc6,点击左上角的“文件”——“新建”。

在弹出的窗口中选择win32控制台程序,建立一个名为ip的新工程。

在接下来的弹出窗口中选择“一个空工程”。

建立ip工程完成后,再次点击“文件”——“新建“,在弹出的窗口中选择”c++ source file“即c++源文件,然后命名为ip.cxx。

首先在main函数中加入如下代码,它用于检测程序输入的参数,我们的目的依然是实现ip.exe 后面接ip地址,然后输出ip地址整数的形式。
int main(int ac,char **pav)
{
if (ac!=2) {
printf(用于将ip地址转换成整数!\n使用方法 ip.exe ip地址\n示例: ip.exe 127.0.0.1\n);
return 0;
}
return 0;
}

然后需要用两个函数strtok()提取ip地址,同时使用atoi()将提取的ip地址保存为整数。这两个函数的声明一个在string.h头文件,一个在stdlib.h头文件,所以在源码文件的开头需要加上这两个头文件。

接下来就是循环提取ip地址字符串,并将提取的ip地址字符串转换成整数保存于数组中。
char *pstr=strtok(pav,.);
int a = {0};
int inx;
unsigned ip_int;
for (inx=0; inx!=4 pstr!= NULL; ++inx) {
a = atoi(pstr);
pstr = strtok(NULL, .);
}

同样的方法将ip地址想象成4位256进制的数,还是以127.0.0.1为例,则127的位权即256的三次方,左面第一个0的位权为256的平方,右面第二个0的位权为256的1次方即256,最后的1位权即为256的0次方,将这些数相加即为ip地址的整数表现形式。
ip_int = a*16777216 + a*65536 + a*256 + a;
printf(ip转换成整数为:%d\n,ip_int);

最后生成可执行程序即可。

执行效果如下图所示。

版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_441141.html