首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎么将一结构数据复制到一char或BYTE内存块中

2012-01-16 
如何将一结构数据复制到一char或BYTE内存块中?假设结构如下:structtest{intcountLPWSTRtextLPSTRname}

如何将一结构数据复制到一char或BYTE内存块中?
假设结构如下:

struct   test
{
      int   count;
      LPWSTR   text;
      LPSTR   name;
}

如何将该结构数据复制到一char或BYTE内存块中?

[解决办法]
直接memcpy过去即可,有什么问题捏???
char dst[128];
memcpy( (void*)dst, (void*)test, sizeof(test) );
[解决办法]
在file.Read(lpFileName, (UINT)testtofile.m_FileNameSize); 这句后边加

lpFileName[testtofile.m_FileNameSize] = '\0 ';
然后MessageBox(CString(lpFileName));
[解决办法]
可能是少了个 '\0 '
[解决办法]
memcpy吧.但要注意的一些结构指针带来的问题,如一个结构内有一个指针指向一块内存,用memcpy复制一个新的结构实例后,也指向该块内存,当该内存随一个结构实例释放后,另外一个实例就会出错的.像这种情况,最好将struct定义成class.编后对应的构造或复制函数以及重载=操作符.

热点排行