新建了一个类 用来显示数据 类里的一些函数 和一些结构体关联了 
但是调用函数 定义的结构体不一定是一样的 怎么才能把 调用函数结构体里的内容拷到 类里啊 memcpy? 结构体在内存里的 结构是什么样的。。
比如
typedef struct{
CString a;
CString b;
}_A;
_A aa;
memcpy(&aa.a, 传入地址, sizeof(CString));
memcpy(&aa.b, 传入地址+sizeof(CString), sizeof(CString));其实我是想通过内存拷贝来实现不同的结构体传进来的值 假设我知道结构体内元素的的个数
typedef struct{
CString a;
CString b;
CString c;
}_B;
这样再拷贝下就行了 但是 这样拷下来 数据不对
或者说有什么办法 完成这个功能  能让一个类适应不同结构体

解决方案 »

  1.   

    首先,内存拷贝不要用在CString上,CString内部结构不是简单的字节排列,sizeof(CString)永远=4!改用TCHAR[]/ char[], 注意结构体边界字节对齐
      

  2.   

    支持
    内存拷贝不能用在CString中
      

  3.   

    转换memcpy( (LPSTR)(LPCTSTR)CString, "sssss", sizeof("sssss") )
      

  4.   

    我说的是 整个程序中只使用到一个(数量上的一个)实例
    其它要使用的地方通过指针访问,这样就没有传值的问题了,并可以消除数据同步的问题
    要么你赋值时,对于类对象,直接赋值,不用内存COPY
      

  5.   

    我说的是 整个程序中只使用到一个(数量上的一个)实例
    其它要使用的地方通过指针访问,这样就没有传值的问题了,并可以消除数据同步的问题
    要么你赋值时,对于类对象,直接赋值,不用内存COPY呵呵 我知道你的意思 其实传值只是我的构想 不是我程序的目的 
    我现在就是直接赋值 
    typedef struct{
    CString a;
    CString b;
    }_A;
    _A aa;
    类里面这样:
    aa.a = 传.a
    aa.b = 传.b但是 我又有一个 函数 要调用这个类 但是 结构体不同
    typedef struct{
    CString a;
    CString b;
    CString c;
    }_B;
    此时我不得不 修改这个类 因为类里定义的是_A
      

  6.   

    此时我不得不 修改这个类 因为类里定义的是_A??????????
    不明白_A  aa; _B bb;bb.a = aa.a
    bb.b = aa.b不行吗?还有,你可以用引用方式
      

  7.   

    ...这样可以 。。但是bb.c怎么办。。 我需要把bb.c显示出来
      

  8.   

    又或者有其他的 _C{CString a,CString b,CString c,CString d,CString e}此时 类里定义的接口 就不能再是_A   必须改成_C了 这样 每改变个结构体 我必须去改这个类的接口