IP地址转换函数--inet_addr和inet_ntoa使用笔记
来源:互联网 发布:西安程序员好找工作吗 编辑:程序博客网 时间:2024/05/21 17:21
【inet_addr.c测试代码】
#include <stdio.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <string.h>int main(int aargc, char* argv[]){ struct in_addr addr1,addr2; ulong l1,l2; l1= inet_addr("192.168.0.74"); l2 = inet_addr("211.100.21.179"); memcpy(&addr1, &l1, 4); memcpy(&addr2, &l2, 4); printf("%s : %s\n", inet_ntoa(addr1), inet_ntoa(addr2)); //注意这一句的运行结果 printf("\"%s\" = inet_ntoa(0x%08x);\n", inet_ntoa(addr1),addr1); printf("\"%s\" = inet_ntoa(0x%08x);\n", inet_ntoa(addr2),addr2); printf("0x%08x == ntohl(0x%08x)\n",ntohl(l1),l1); printf("0x%08x == ntohl(0x%08x)\n",ntohl(addr1.s_addr),l1); printf("0x%08x == htonl(0x%08x)\n\n",htonl(addr2.s_addr),addr2.s_addr); sockaddr_in socketaddr; memset(&socketaddr, 0, sizeof(sockaddr_in)); socketaddr.sin_addr.s_addr = addr2.s_addr; socketaddr.sin_port = htons(12233);//端口 printf("addr2 [ip: port] == [%s:%d]\n", inet_ntoa(socketaddr.sin_addr),ntohs(socketaddr.sin_port)); return 0;}
【Linux系统,CenOS6.4上,make编译,GCC4.8.2 运行结果】
[root@localhost ~]# cp inet_addr.c test.c -acp: overwrite `test.c'? y[root@localhost ~]# makeg++ -c test.cg++ -o test test.o[root@localhost ~]# ./test
192.168.0.74 : 192.168.0.74
"192.168.0.74" = inet_ntoa(0x4a00a8c0);
"211.100.21.179" = inet_ntoa(0xb31564d3);
0xc0a8004a == ntohl(0x4a00a8c0)
0xc0a8004a == ntohl(0x4a00a8c0)
0xd36415b3 == htonl(0xb31564d3)
addr2 [ip: port] == [211.100.21.179:51503]
[root@localhost ~]#
【makefile 文件】
test:test.og++ -o test test.otest.o:test.cg++ -c test.c clean:rm -f *.o test
0 0
- IP地址转换函数--inet_addr和inet_ntoa使用笔记
- IP 地址转换 inet_addr() inet_ntoa() 笔记
- 地址转换函数inet_aton、 inet_ntoa、 inet_addr和inet_pton 、inet_ntop
- Linux网络编程----IP转换函数--inet_addr和inet_ntoa
- Linux网络编程----IP转换函数--inet_addr和inet_ntoa
- IP地址转换函数——inet_ntop(),inet_pton(),inet_addr(),inet_aton(),inet_ntoa()
- 函数inet_addr和inet_ntoa
- 函数inet_addr和inet_ntoa
- 函数inet_addr和inet_ntoa
- 函数inet_addr和inet_ntoa
- inet_ntoa 和inet_addr函数
- 函数inet_addr和inet_ntoa
- IP地址格式转换(htonl、ntohl;inet_addr、inet_ntoa)
- IP地址格式转换(htonl、ntohl;inet_addr、inet_ntoa)
- IP地址格式转换(htonl、ntohl;inet_addr、inet_ntoa)
- IP地址格式转换(htonl、ntohl;inet_addr、inet_ntoa)
- IP地址格式转换(htonl、ntohl;inet_addr、inet_ntoa)
- 函数inet_addr和inet_ntoa-linux
- [Unity3D]Unity3D游戏开发之怪物AI
- MySQL自定义排序函数FIELD()
- Spark SQL 物理执行计划各操作实现
- IPHONE parser 解析xml文件
- 抽象方法和抽象类
- IP地址转换函数--inet_addr和inet_ntoa使用笔记
- Objective-c 与java 的对比学习
- ASIHTTPRequest-Cookie的使用
- Yii集成Ueditor
- 黑马程序员_异常处理学习笔记
- 使用strace+pstack利器分析程序性能
- 一招一式练武功——读《软件方法上册——业务建模和需求》有感
- java.lang.VerifyError
- 使用"JSONKit.h"解析文件