地址转换函数inet_addr(), inet_aton(), inet_ntoa()和inet_ntop(), inet_pton()

对于几个地址转换函数总是记不住,找到一个比较全的博客,记录备忘。若侵权,请联系我删除。

地址转换函数inet_addr(), inet_aton(), inet_ntoa()和inet_ntop(), inet_pton()_第1张图片

地址转换函数inet_addr(), inet_aton(), inet_ntoa()和inet_ntop(), inet_pton()_第2张图片

#include 
#include 
#include 
#include 
int main()
{
    int i;
    char lo[] = "127.0.0.1";
    struct in_addr netAddr;
    netAddr.s_addr = inet_addr(lo);
    printf("NetIP: 0x%x\n", netAddr.s_addr);
    char *strAddr = inet_ntoa(netAddr);
    printf("StrIP: %s\n", strAddr);
    int ret = inet_aton(strAddr, &netAddr);
    printf("NetIP: 0x%x\n", netAddr.s_addr);
    return 0;
}


输出:
NetIP: 0x100007f(网络序)
StrIP: 127.0.0.1
NetIP: 0x100007f(网络序)

地址转换函数inet_addr(), inet_aton(), inet_ntoa()和inet_ntop(), inet_pton()_第3张图片

#include 
#include 
#include 
int main()
{
    struct in_addr addr;
    if(inet_pton(AF_INET, "127.0.0.1", &addr.s_addr) == 1)
        printf("NetIP: %x\n", addr.s_addr);
    char str[20];
    if(inet_ntop(AF_INET, &addr.s_addr, str, sizeof str))
        printf("StrIP: %s\n", str);
    return 0;
}


输出:
NetIP: 100007f
StrIP: 127.0.0.1

 

你可能感兴趣的:(网络编程)