C语言中网络地址与二进制数之间转换的函数小结
C语言inet_ntoa()函数:将网络二进制的数字转换成网络地址
头文件:
#include<sys/socket.h>#include<netinet/in.h>#include<arpa/inet.h>
定义函数:
char*inet_ntoa(structin_addrin);
函数说明:inet_ntoa()用来将参数in所指的网络二进制的数字转换成网络地址,然后将指向此网络地址字符串的指针返回.
返回值:成功则返回字符串指针,失败则返回NULL.
C语言inet_aton()函数:将网络地址转成网络二进制的数字
头文件:
#include<sys/scoket.h>#include<netinet/in.h>#include<arpa/inet.h>
定义函数:
intinet_aton(constchar*cp,structin_addr*inp);
函数说明:inet_aton()用来将参数cp所指的网络地址字符串转换成网络使用的二进制的数字,然后存于参数inp所指的in_addr结构中.
结构in_addr定义如下
structin_addr { unsignedlongints_addr; };
返回值:成功则返回非0值,失败则返回0.
C语言inet_addr()函数:将网络地址转成二进制的数字
头文件:
#include<sys/socket.h>#include<netinet/in.h>#include<arpa/inet.h>
定义函数:
unsignedlongintinet_addr(constchar*cp);
函数说明:inet_addr()用来将参数cp所指的网络地址字符串转换成网络所使用的二进制数字.网络地址字符串是以数字和点组成的字符串,例如:"163.13.132.68".
返回值:成功则返回对应的网络二进制的数字,失败返回-1.