是不是不能用BYTE* 参数?那拷贝二进制信息用什么呢?

解决方案 »

  1.   

    你用new 分配内存试一下。
      

  2.   

    ptemp没长度限制呀,BYTE*另外:是不是需要内存操作时检查是否越界,如何???
      

  3.   

    据说,在csdn上帮菜鸟,QQ上的头像就会变成金色的.呵呵
      

  4.   

    你应该检查:
    1。你是否已为m_pic分配内存
    2。size是否超过了ptemp的长度
      

  5.   

    1.必须先为m_pic分配内存吗?
    2.BYTE* ptemp不受size长度限制吧?
      

  6.   

    sospider,欢迎您,您的专家分:0、可用分:1087、参与分:500 
    呵呵
      

  7.   

    to sospider
    1.一定要给m_pic分配空间(原来的pszRead也申请过空间也可以),要不然,拷来的数据放在什么地方?
    2.size的长度倒是没有关系。这样也许才行:
    ptemp=(BYTE*)pszRead;  //pszRead为char*,且没有分配过空间
    size=sizeof(STUDENTSTRUCT_HEAD)+headTemp.m_nImgWidth;  
    ptemp=new BYTE[size];
    memcpy(m_pic,ptemp,size);