原文:https://blog.csdn.net/mercy_ps/article/details/82226566
strcut结构体和char型数组的相互转化
2018年08月30日 19:24:01 Panix2n_n 阅读数:516
针对内存连续的结构体,把一整段内存拷贝到char数组对应的内存中。考虑4字节对齐!
-
struct Test
-
{
-
int a;
-
char b;
-
char c[1024];
-
unsigned short d;
-
};
-
char* ch = "abcdefghijklmn1234567890";
-
char* chTest = new char[2048];
-
memset(chTest, 0, sizeof(chTest));
-
Test* t1 = new Test;
-
t1.a = 10;
-
t1.b = -20;
-
strcpy(t1.c, ch);
-
t1.d = 12;
-
//结构体转为char*
-
memcpy(chTest, (char*)t1, sizeof(Test));
-
//char*转为结构体
-
Test* t2;
-
t2 = (Test*)chTest;