IP地址的转换

#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <WinSock2.h>
#pragma comment(lib,"ws2_32.lib")




int _tmain(int argc, _TCHAR* argv[])
{
    struct in_addr addr1,addr2;
    unsigned long   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\n", inet_ntoa(addr1));
    printf("%s\n", inet_ntoa(addr2));




    char a1[16],a2[16];
    int a1_len,a2_len;
    sockaddr_in ina1,ina2;
    ina1.sin_addr.s_addr = inet_addr("132.241.5.10");
    ina2.sin_addr.s_addr = inet_addr("198.92.129.1");
    unsigned long ula1,ula2;
    ula1 = ina1.sin_addr.S_un.S_addr;
    ula2 = ina2.sin_addr.S_un.S_addr;
    a1_len = strlen(inet_ntoa(ina1.sin_addr));
    a2_len = strlen(inet_ntoa(ina2.sin_addr));


    if ((a1_len <= 15) && (a2_len <= 15))
    {
        memcpy(a1,inet_ntoa(ina1.sin_addr),a1_len);
        memcpy(a2,inet_ntoa(ina2.sin_addr),a2_len);
        a1[a1_len] = '\0';
        a2[a2_len] = '\0';
    }
    else
    {
        printf("address Error\n");
        return 0;
    }
    printf("adress1 = %s,adress2 = %s",a1,a2);


    a1 = inet_ntoa(ina1.sin_addr);
    printf("address1 = %s\n",a1);
    a2 = inet_ntoa(ina2.sin_addr);
    printf("address2 = %s\n",a2);
    system("PAUSE");
    return 0;


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值