写个结构
struct  uData
{
     char* buf;
     int len;
}然后 使用CArray<uData,uData*> uDataArr

解决方案 »

  1.   

    谢谢啊,不过是不是应该这样写的?
    然后 使用CArray<uData,uData&> uDataArr访问成员是就是 uDataArr.GetAt(i).buf[j]  和 uDataArr.GetAt(i).len 这样吗?
      

  2.   

    我还想问一下  
    struct IAPData{
    char *buf;
    int len;
    };CArray<IAPData,IAPData&> IAPDataArr;
    IAPData iapdata;然后我再 这样添加一个数组:
    IAPDataArr.Add(iapdata);  // 假设是第一个数组   /// (1)然后  :
    IAPDataArr.GetAt(0).buf = "12345";     (2)
    这样写行不行呢;编译是可以通过,但是不知道这个数组的地址是怎么分配的,在(1)里面是一个空数组,如果没有分配内存,在(2)再这样添加可行吗?
    不过不行,应该怎么写呢?
      

  3.   

    我担心先给iapdata 数据赋值,如果iapdata.buf里面中间点有 0 值,会不会 再用IAPDataArr.Add(iapdata); 添加后,buf[]0值后面的数据又被忽略掉了?
      

  4.   

    我知道了 
    struct IAPData{
    char *buf;
    int len;
    };
    这样 buf是在第一次赋值的时候分配内存,以后就是只读属性了;
    我应该改成:
    struct IAPData{
    char buf[1024];
    int len;
    }; 
    这样才能多次写入
      

  5.   


    1),就是数组内部创建一个IAPDataArr数据空间,2)就是将你数据写入到数组内部数据空间中
    红色那个定义可以是局部变量,其数据会使用拷贝传入