strcut结构体和char型数组的相互转化

 

原文:https://blog.csdn.net/mercy_ps/article/details/82226566

strcut结构体和char型数组的相互转化

2018年08月30日 19:24:01 Panix2n_n 阅读数:516

针对内存连续的结构体,把一整段内存拷贝到char数组对应的内存中。考虑4字节对齐!

 
  1. struct Test

  2. {

  3. int a;

  4. char b;

  5. char c[1024];

  6. unsigned short d;

  7. };

  8.  
  9. char* ch = "abcdefghijklmn1234567890";

  10. char* chTest = new char[2048];

  11. memset(chTest, 0, sizeof(chTest));

  12.  
  13. Test* t1 = new Test;

  14. t1.a = 10;

  15. t1.b = -20;

  16. strcpy(t1.c, ch);

  17. t1.d = 12;

  18.  
  19. //结构体转为char*

  20. memcpy(chTest, (char*)t1, sizeof(Test));

  21.  
  22. //char*转为结构体

  23. Test* t2;

  24. t2 = (Test*)chTest;

  25.  
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值