我定义了一个unsigned char* p;
然后分配内存:p=(unsigned char *)malloc (64);
再赋值: for( int i=0;i<64;i++)
{
*(p+i)=66;//赋值
}
然后,我想在对话框中一个Edit;m_strEdit中显示该块内存中的所有值
要怎么做呢?
菜鸟问问

解决方案 »

  1.   

    CString str=p;
    m_strEdit=str;
      

  2.   

    m_strEdit = (LPCTSTR)p;
    UpdateData(FALSE);
    你那个内存没有用'\0'结束吧?
      

  3.   

    CString str ;
    str = (LPCSTR) P ;
    m_strEidt = str ;
    UpdateData (FALSE) ;
      

  4.   

    还是不应亚,edit中什么也不显示
      

  5.   

    unsigned char* p;
    然后分配内存:p=(unsigned char *)malloc (64+1);
    再赋值: for( int i=0;i<64;i++)
    {
    *(p+i)=66;//赋值
    }
    *(p+i)='\0'即可CString str ;
    str = (LPCSTR) P ;
    m_strEidt = str ;
    UpdateData (FALSE) ;就可以 了 
      

  6.   

    我定义了一个unsigned char* p;
    然后分配内存:p=(unsigned char *)malloc (64);
    再赋值: for( int i=0;i<63;i++)
    {
    *(p+i)=66;//赋值
    }
              *(p+i) = '\0' ;
    然后,我想在对话框中一个Edit;m_strEdit中显示该块内存中的所有值
    m_strEdit.Format("%s",p);
    UpdateData (FALSE) ;
      

  7.   

    do like this LPTSTR lpszEdit=m_strEdit.GetBufferSetLength(64);
    memset(lpszEdit,66,64);
    m_strEdit.ReleaseBuffer();
    lpszEdit=NULL;
    UpdateData(FALSE);