Im_root 2022-01-04 17:31 采纳率: 100%
浏览 46
已结题

通过malloc开辟空间获取char*的值

问题遇到的现象和发生背景
      我需要开辟一块空间用于获取ptr的值,但是我用下面这种方式打印出来的arg值是空的,请问下该如何操作呢?
问题相关代码,请勿粘贴截图
       char *ptr = (char *)msg->payload(); 
        std::cout << " :::::::" << ptr << " :::::::" << std::endl; 
        int len=sizeof(strlen(ptr));
        std::cout << " strlen:" << len   << std::endl; 
         char *arg = (char *)malloc(1000 * sizeof(char)); 
        *arg = *ptr;
        std::cout << "---" << "arg:" << arg << "---" << std::endl;
        threadpool_add_task(&pool, msg_consume, arg);
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

1条回答 默认 最新

  • 书山客 2022-01-04 17:44
    关注

    就算申请了空间但是一开始什么都没有写入,所以打印的还是空的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月13日
  • 已采纳回答 1月5日
  • 创建了问题 1月4日

悬赏问题

  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加
  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化