冫irohane丶 2021-08-13 12:35 采纳率: 42.9%
浏览 27
已结题

C++ 中如何将文本的16进制读取到内存

img

像这一种数据格式的字符串怎么转换,因为这一段需要动态调用。在网上找了好多没找到解决方法,求帮助

  • 写回答

2条回答 默认 最新

  • 冫irohane丶 2021-08-13 14:35
    关注

    我自己写了个函数解决了,效果图

    img

    img

    void* Buf16ToMem16(string sBuf)
    {
    string strBuf = sBuf;
    string strtmp ;
    DWORD dwSt=0,dwEd=0,dwCount=0,dwStrSz = 0;
    BYTE* bTmp = new BYTE{0};
    void* TmpVoid;
    void* RetVoid;

    dwStrSz = strBuf.size();
    dwSt = strBuf.find("\\", dwSt ? dwSt + 1 : 0);
    TmpVoid = new char[dwStrSz] {0};
    while (true)
    {
        dwEd = strBuf.find("\\", dwSt + 1);
        strtmp = strBuf.substr(dwSt + 1, (dwEd - dwSt - 1));
        sscanf_s(strtmp.c_str(), "x%x", &bTmp);
        memcpy_s((char*)TmpVoid +dwCount, 1, &bTmp, 1);
    
        if (dwEd == string::npos)
        {
            break;
        }
    
        ++dwCount;
        dwSt = dwEd;
    
    }
    RetVoid = new char[dwCount + 1]{0};
    memcpy_s(RetVoid, dwCount + 1, TmpVoid, dwCount + 1);
    delete TmpVoid;
    TmpVoid = NULL;
    return RetVoid;
    

    }

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月13日
  • 创建了问题 8月13日

悬赏问题

  • ¥15 解决一个加好友限制问题 或者有好的方案
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥30 求解达问题(有红包)