我试图将数据从结构复制到另一个.每个结构可以处理的字节是相同的.我的声明和memcpy如下:
typedef struct{
CString strNumber;
CString strAlpha;
} _Number;
typedef struct{
CString strIterration;
_Number NumberOne;
_Number NumberTwo;
} _Store;
_Store Data1;
_Store Data2;
Run Code Online (Sandbox Code Playgroud)
现在让我们说第一个结构Data1有数据,第二个结构只是声明.
我使用以下代码:
memcpy(&Data2, Data1, sizeof(_Store));
Run Code Online (Sandbox Code Playgroud)
因为出现错误我无法编译.有任何想法吗?还有其他任何复制数据的方法吗?
你需要&在两个结构上使用:
memcpy(&Data2, &Data1, sizeof(_Store));
Run Code Online (Sandbox Code Playgroud)
注意:_Store包含CString成员变量(如果它像MFC一样CString)不是按位可复制的.您应该只使用memcpy()按位可复制的类型,否则您可能会遇到未定义的行为.
| 归档时间: |
|
| 查看次数: |
2401 次 |
| 最近记录: |