//定义了一个BYTE类型的数组  
m_byte[512*1024];
//m_byte数组用读取文件的方式赋值 
read= fread(m_byte,1,count,fp);
//现在我定义了一个结构体
typedef struct comInfo 

                CString name;
BYTE m_codedata[512*1024];
} comInfo;
//定义一个结构体数组变量 
comInfo com[11];
com[i].name="名字";
//怎么样将m_byte赋值给com[i].m_codedata ?
//还有就是C++里面的数组定义的时候非的指定长度吗,应该可以动态增长吧,要怎么写!谢谢各位!并祝各位新年快乐!

解决方案 »

  1.   

    memcpy(com[i].m_codedata,m_byte,512*1024);
      

  2.   

    动态申请
    char *buf=new char[x];
      

  3.   

    动态申请
    char *buf=new char[x];
      

  4.   

    赋值要么就用memcpy,要么就用for(....)一个字节一个字节的自己写,C++的数组并不是动态增长的,所以一定要指定长度,如果想动态增长的话用CArray试试
      

  5.   

    动态指定长度typedef struct comInfo 

        CString name;
        int  iLen;
        BYTE *pcodedata;
    } comInfo;
    //------
    comInfo com1;
    com1.iLen = 1587;
    com1.pcodedata = new BYTE[iLen];
      

  6.   

    memcpy函数就可以了memcpy(..,..,sizeof(..)/sizeof(BYTE));
      

  7.   

    不管什么数组都可以用memcpy来复制。
    如果希望能够动态增长,你可以用CArray<BYTE,BYTE>来做BYTE数组,用这个类的Copy函数来实现数组的复制,需要头文件#include <afxtempl.h>。
      

  8.   

    用new要用delete []buf清除空间
      

  9.   

    还有个问题就是Maintain.exe 中的 0x004193d5 处未处理的异常: 0xC00000FD: Stack overflow 。
    应该是内存溢出,该怎么解决呢?
      

  10.   

    都说叫你按我的方法做char *buf=new char[x];delete []buf;
      

  11.   

    要是想动态分配数组的话,可以考虑使用vector来做!
      

  12.   

    memcpy函数复制数据最好不过了。
    至于长度要增加,可以用new动态申请,地址进行连接就好了
      

  13.   

    可以考虑使用 malloc、realloc、free 函数。
      

  14.   


    要想保留以前数据,可以用malloc分配,realloc重新分配,free释放。realloc可以保留以前数据
      

  15.   

    顶楼上
    可以重新分配,之后再把原来的数据copy带新的内存中而实现动态数组。。
      

  16.   

    重新封装一下comInfo, 利用成员函数分配内存,析构函数中释放 typedef struct comInfo 
        { 
            CString name;
            BYTE *m_codedata; comInfo() : name(_T("")),m_codedata(NULL){}
    ~comInfo() 

    if (m_codedata != NULL) 
    delete [] m_codedata;

    void setdata(const BYTE* buffer, int size)
    {
    m_codedata = new BYTE(size);
    memcpy(m_codedata,buffer,size);
    }
        } comInfo;
    //定义一个结构体数组变量 
    comInfo com[11];
    com[i].name="名字";
    com[i].setdata(m_byte,size);