IP转换应用
来源:互联网 发布:装修全包 半包 知乎 编辑:程序博客网 时间:2024/06/08 07:45
再看本博文时请先查看本博文http://blog.csdn.net/u013711616/article/details/52218112
代码:
代码一:
/************************************************************************* > File Name: inet.c > Author: ************************************************************************/#include <stdio.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <stdio.h>#include <string.h>int main(int argc, char *argv[]){ struct in_addr ip, local, network; char addr1[] = "192.168.1.1"; char addr2[] = "255.255.255.255"; char addr3[] = "192.16.1"; char *str1 = NULL, *str2 = NULL; int err = 0; //将字符串IP转换为二进制IP err = inet_aton(addr1, &ip); if (err) { printf("inet_aton %s value is: 0x%02X\n",addr1, ip.s_addr); } else { printf("inet_aton %s error\n", addr1); } //将字符串IP转化为二进制IP ip.s_addr = inet_addr(addr1); if (err = -1) { printf("inet_addr:string %s value is: 0x%02X\n", addr1, ip.s_addr); } else { printf("inet_addr:string %s error\n", addr1); } //inet_addr不能装换255.255.255.225形式的IP地址 ip.s_addr = inet_addr(addr2); if (ip.s_addr != -1) { printf("inet_addr:string %s value is:0x%02X\n", addr2, ip.s_addr); } else { printf("inet_addr:string %s err\n", addr2); } //inet_ntoa 先测试192.168.5.1,再测试255.255.255.255 ip.s_addr = 192<<24|168<<16|1<<8|1; str1 = inet_ntoa(ip); ip.s_addr = 255<<24|255<<16|255<<8|255; str2 = inet_ntoa(ip); printf("inet_ntoa:ip:0x%02X string1 %s, pre is:%s \n", ip.s_addr, str2, str1); //测试函数inet_addr ip.s_addr = inet_addr(addr3); if (err != -1) { printf("inet_addr:string %s value is:0x%02X\n", addr3, ip.s_addr); } else { printf("inet_addr:string %s err\n", addr3); } str1 = inet_ntoa(ip); printf("inet_addr:string %s ip:0x%02X\n", str1, ip.s_addr); //测试获取本机IP地址 inet_aton(addr1, &ip); local.s_addr = htonl(ip.s_addr); local.s_addr = inet_lnaof(ip); str1 = inet_ntoa(local); printf("inet_lnaof:string %s ip:0x%02X\n", str1, local.s_addr); //测试函数inet_netof 获取本机地址 network.s_addr = inet_netof(ip); printf("inet_netof:value:0x%02X \n", network.s_addr); return 0;}
代码二:
/************************************************************************* > File Name: inetPton.c > Author: ************************************************************************/#include <stdio.h>#include <sys/types.h>#include <sys/socket.h>#include <arpa/inet.h>#include <stdio.h>#include <string.h>#define ADDRLEN 16int main(int argc, char *argv[]){ struct in_addr ip; char ipstr[] = "192.168.1.1"; char addr[ADDRLEN]; const char *str = NULL; int err = 0; //测试inet_pton将192.168.1.1转换为二进制形式 err = inet_pton(AF_INET, ipstr, &ip); if (err > 0) { printf("inet_pton:ip,%s value is :0x%02X\n", ipstr, ip.s_addr); } //测试函数inet_ntop 将192.168.1.1转换为字符串格式 ip.s_addr = htonl(192<<24|168<<16|12<<8|255); //将二进制网络字节序192.168.12.255转换为字符串 str = (const char *)inet_ntop(AF_INET, (void*)&ip, (char*)&addr[0], ADDRLEN); if (str) { printf("inet_ntop:ip,0x%02X is %s\n", ip.s_addr, str); } return 0;}
0 0
- IP转换应用
- java字符串应用之IP地址转换成整数
- java字符串应用之IP地址转换成整数
- java字符串应用之IP地址转换成整数
- java字符串应用之IP地址转换成整数
- java字符串应用之IP地址转换成整数
- IP转换
- IP到数字转换
- 域名转换IP
- IP的转换函数
- java IP转换
- IP地址转换算法
- IP地址的转换
- IP地址格式转换
- IP转换成域名
- python ip地址转换
- java ip地址转换
- ip地址转换函数
- ffmpeg 音频视频 使用过程中碰到的问题记录
- SDUT 2142 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- android 秒启动解决启动白屏,黑屏现象
- [leetcode]229. Majority Element II -- JavaScript 代码
- logstash中字符串的split,对每个子串进行json解析
- IP转换应用
- ubuntu上安装并使用nvm管理node版本
- git常用命令
- 进制转换【思维】(巧法)
- 后缀数组
- HNOI2010 bounce 弹飞绵羊 (BZOJ2002)
- Java线程和多线程(四)——主线程中的异常
- RSA加密算法的简单案例
- 使用Android系统调用裁剪图片并保存