我想从一个配置文件中读出一个字符串,然后再给CIpAddressCtrl对象赋值。CString tmp;       // 假设tmp是从一文件中读出的
tmp="100.100.100.100";
现在我想将tmp赋给一个CIpAddrssCtrl对象,请问怎么办。
如何将字符串的值转换为CIpAddressCtrl的四个BYTE值。不会是用FOR循环从字符串中一个一个字符的读出后再通过条件判断分别赋给它吧?

解决方案 »

  1.   

    CString tmp;
    tmp="100.100.100.100";
    char test[15];
    memset(test, 0, 15);
    sprintf(test, "%s", tmp);
    int a;
    BYTE b[4];       //ip address
    a=test[0]*100+test[1]*10+test[2];
    b[0]=(BYTE)a;
    a=test[4]*100+test[5]*10+test[6];
    b[1]=(BYTE)a;
    a=test[8]*100+test[9]*10+test[10];
    b[2]=(BYTE)a;
    a=test[12]*100+test[13]*10+test[14];
    b[3]=(BYTE)a;
    这样比较笨,但可以实现!!!
      

  2.   

    不如将IP存为一个DWORD值
    这样操作比较方便些
      

  3.   

    将IP存为一个DWORD值
    能给出代码吗?
      

  4.   

    给控件定义一个变量(假设是ipVar)然后用DWORD dw;
    ipVar.GetAddress(dw);或者BYTE b1,b2,b3,b4
    ipVar.GetAddress(b1,b2,b3,b4);就行了
      

  5.   

    老兄是从一个文件中读出来再写给CIpAddressCtrl?
      

  6.   

    ctrlobj.SetWindowText( (LPCSTR)Ipaddress)
      

  7.   

    难道没有人做过IP地址的配置文件吗?如果做过请问,你们是如何从配置文件中读出IP值给CIpAddressCtrl控件的?