C语言中网络地址与二进制数之间转换的函数小结

时间:2022-02-16 06:14:05

C语言inet_ntoa()函数:将网络二进制的数字转换成网络地址
头文件:

?
1
#include <sys/socket.h>  #include <netinet/in.h>  #include <arpa/inet.h>

定义函数:

?
1
char * inet_ntoa(struct in_addr in);

函数说明:inet_ntoa()用来将参数in 所指的网络二进制的数字转换成网络地址, 然后将指向此网络地址字符串的指针返回.

返回值:成功则返回字符串指针, 失败则返回NULL.

C语言inet_aton()函数:将网络地址转成网络二进制的数字
头文件:

?
1
#include <sys/scoket.h>  #include <netinet/in.h>  #include <arpa/inet.h>

定义函数:

?
1
int inet_aton(const char * cp, struct in_addr *inp);

函数说明:inet_aton()用来将参数cp 所指的网络地址字符串转换成网络使用的二进制的数字, 然后存于参数inp 所指的in_addr 结构中.

结构in_addr 定义如下

?
1
2
3
4
struct in_addr
{
  unsigned long int s_addr;
};

返回值:成功则返回非0 值, 失败则返回0.

C语言inet_addr()函数:将网络地址转成二进制的数字
头文件:

?
1
#include <sys/socket.h>  #include <netinet/in.h>  #include <arpa/inet.h>

定义函数:

?
1
unsigned long int inet_addr(const char *cp);

函数说明:inet_addr()用来将参数cp 所指的网络地址字符串转换成网络所使用的二进制数字. 网络地址字符串是以数字和点组成的字符串, 例如:"163. 13. 132. 68".

返回值:成功则返回对应的网络二进制的数字, 失败返回-1.