我在函数中需要处理的一个数据的类型是一个 unsined char 的数组,我想从EDIT BOX 中得到这个unsined char 数组的值,但是使用EDIT BOX 时,选择的变量的类型有限,我只看到了有CSting,BYTE,int等类型,我只是想让 从用户那得到的信息 保存到 unsigned char 的数组中,怎样可以实现???先说谢谢了  

解决方案 »

  1.   

    使用CSting获得EDIT BOX的值,
    然后通过类型转换获得 unsined char 的数组
      

  2.   

    Byte就是unsigned char 好像就是,不是直接用吗?要不就遍历CString,把每个字符取出,赋值给Char
      

  3.   

    void CEx0625Dlg::OnButton1() 
    {
    UpdateData();
    int iLeng = m_edit.GetLength();
    BYTE * pBuff = new unsigned char[iLeng] ;
    memcpy(pBuff,m_edit.GetBuffer(iLeng),sizeof(unsigned char)*iLeng);
    //使用
    delete [] pBuff ;
    }
      

  4.   

    typedef LPCSTR LPCTSTR;
    typedef CONST CHAR *LPCSTR, *PCSTR;
    typedef unsigned char       BYTE;
      

  5.   

    其实不要管你用ClassWizard映射时选择的成员变量的类型,也不要强制转换,
    可以随便选择一个,然后在生成的头文件里面改就可以了
    如 //{{AFX_DATA(CFindCarDlg)
    enum { IDD = IDD_FIND_CAR };
    CString m_strCenterID;
    CString m_strEndGx;
    CString m_strEndGy;
    CTime m_ctlStartDate;
    CTime m_ctlStartTime;
    CTime m_ctlEndTime;
    CString m_strStartGx;
    CString m_strStartGy;
    //}}AFX_DATA
    可以把里面的CString类型改成你需要的类型