ip地址的格式是ULONG,请问如何才能把地址放入char add【16】这样的数组???

解决方案 »

  1.   

    你应该这样做:
    struct in_addr ipAddr;
    ipAddr.s_addr = 你的IP整数值;
    char *pAddr = inet_ntoa(ipAddr);
      

  2.   


    u_long ul_ip = 99999;//假定 u_long类型变量的值是99999
    in_addr addr;
    addr.S_un.S_addr = ul_ip;
    char szIPBuf[32] = {0};//IP地址字符串,为了内存出界,给32
    strcpy(szIPBuf,inet_ntoa(addr));//用了不安全的字符串拷贝函数。
      

  3.   

    有现成的宏可以用。 CString str;
    ULONG ip = 0xC0A8007B; //ip=192.168.0.123

    str.Format(TEXT("ip=%d.%d.%d.%d"), 
    FIRST_IPADDRESS(ip), 
    SECOND_IPADDRESS(ip), 
    THIRD_IPADDRESS(ip), 
    FOURTH_IPADDRESS(ip));
    MessageBox(str);