CString ipaddress; 
ipaddress = "10.0.0.1" DWORD dwIP; 
也就是说把ipaddress 赋值给dwIP应该如何赋值?

解决方案 »

  1.   

    DWORD   dwIP=inet_addr(ipaddress);
      

  2.   

    unsigned long CIpInfo::IPStrtoL(CString strIp)
    {
    char* temp=new char[strIp.GetLength()+1]; 
    strcpy(temp,(LPCSTR)strIp); 

    unsigned long lres;
    lres=inet_addr(temp);
    if(INADDR_NONE==lres)
    return 0;
    else 
    return lres;

    delete[] temp;
    }
      

  3.   

    楼上正解,仔细看看socket系列函数,各功能函数都有提供。
      

  4.   

    #include <WINSOCK2.H>project setting link中加入ws2_32.lib
      

  5.   

    =,=
    我也遇到过这种问题.试试这个函数吧.
    将DWORD变成char*输出。自己控制输出顺序吧。void iptos(DWORD in,char output[])
    {
        unsigned char *p;
    p = (unsigned char *)&in;
        sprintf(output, "%d.%d.%d.%d", p[3], p[2], p[1], p[0]);
    }
      

  6.   

    你转换后是个反的原因是,主机字节序与网络字节序的高低位顺序是反的。所以需要将其转化,ntohl
    CString ipaddress; 
    ipaddress = "10.0.0.1" ;
    DWORD dwIP;
    dwIP = ntohl(inet_addr(ipaddress));