读书人

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

发布时间: 2012-01-16 23:36:51 作者: rapoo

如何将一结构数据复制到一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.编后对应的构造或复制函数以及重载=操作符.

读书人网 >VC/MFC

热点推荐