首页 > 系统相关 >c++内存打印函数

c++内存打印函数

时间:2024-01-10 10:34:39浏览次数:28  
标签:pBuff 打印函数 int nBytePerLine unsigned c++ char 内存

void PrintBuffer(void* pBuff, unsigned int nLen)
{
    if (NULL == pBuff || 0 == nLen)
    {
        return;
    }

    const int nBytePerLine = 16;
    unsigned char* p = (unsigned char*)pBuff;
    char szHex[3*nBytePerLine+1] = {0};

    printf("-----------------begin-------------------\n");
    for (unsigned int i=0; i<nLen; ++i)
    {
        int idx = 3 * (i % nBytePerLine);
        if (0 == idx)
        {
            memset(szHex, 0, sizeof(szHex));
        }
#ifdef WIN32
        sprintf_s(&szHex[idx], 4, "%02x ", p[i]);// buff长度要多传入1个字节
#else
        snprintf(&szHex[idx], 4, "%02x ", p[i]); // buff长度要多传入1个字节
#endif
        
        // 以16个字节为一行,进行打印
        if (0 == ((i+1) % nBytePerLine))
        {
            printf("%s\n", szHex);
        }
    }

    // 打印最后一行未满16个字节的内容
    if (0 != (nLen % nBytePerLine))
    {
        printf("%s\n", szHex);
    }

    printf("------------------end-------------------\n");
}

效果如下

标签:pBuff,打印函数,int,nBytePerLine,unsigned,c++,char,内存
From: https://www.cnblogs.com/jiftle/p/17955946

相关文章

  • win7 内存 待验证
    1、禁用页面文件,当拥有512MB以上的内存时,页面文件的作用将不再明显,因此我们可以将它禁用,具体操作方法是:首先在运行对话框中输入regedit打开注册表,然后依次展开注册表编辑器“HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/SessionManager/MemoryManagement”下,在“Disable......
  • MEM0701 Correctable memory error rate exceeded for . 内存可能无法正常工作。 这是
    ......
  • docker 容器cpu限额绑定控制、内存使用、io读写控制及容器停止后自动释放资源
    容器控制cpu使用为避免压力测试时导致虚机爆掉,该测试虚机最好含有四个以上的cpu指定容器可以使用宿主机cpu的份额该参数只对多个容器竞争同一个cpu的时间片时有效参数 -c 或者全称 --cpu-shares可以看到控制cpu的参数使用-c或者全称--cpu-shares[root@localhost~]#......
  • JVM4(运行时内存)
    Java堆从GC的角度还可以细分为:新生代(Eden区、FromSurvivor区和ToSurvivor区)和老年代。(1)新生代是用来存放新生的对象。一般占据堆的1/3空间。由于频繁创建对象,所以新生代会频繁触发MinorGC进行垃圾回收。新生代又分为Eden区、ServivorFrom、ServivorTo三个区。......
  • 【C语言高阶篇】结构体 —— 什么是内存对齐?
    (文章目录)前言  <fontcolor=green>......
  • 刷题笔记——栈(C++)
    LCR148.验证图书取出顺序-力扣(LeetCode)现在图书馆有一堆图书需要放入书架,并且图书馆的书架是一种特殊的数据结构,只能按照 一定 的顺序 放入 和 拿取 书籍。给定一个表示图书放入顺序的整数序列 putIn,请判断序列 takeOut 是否为按照正确的顺序拿取书籍的操作序列。你可......
  • openGauss学习笔记-189 openGauss 数据库运维-常见故障定位案例-TPCC-WAL-内存
    openGauss学习笔记-189openGauss数据库运维-常见故障定位案例-TPCC-WAL-内存189.1TPCC运行时,注入磁盘满故障,TPCC卡住的问题189.1.1问题现象TPCC运行时,注入磁盘满故障,TPCC卡住,故障消除后,TPCC自动续跑。189.1.2原因分析数据库本身机制,在性能日志(gs_profile)所在磁盘满时,导致......
  • 全何发布96GB大容量DDR5内存:8400MHz超高频率
    1月5日消息,台湾全何(V-Color)发布了全新的MantaXFinity系列DDR5内存,不但拥有最高96GB大容量,还有8400MHz最高频率。新内存提供2x16GB、2×24GB、2×32GB、2×48GB等不同容量套装,频率最高可选8400MHz。专门针对Intel平台优化,并支持XMP3.0,可以一键达成高频。散热马甲也重新设计,几何......
  • 内存溢出会导致模块测试正常,植入系统失败
    前些天,遇到了一个问题:需要在系统中添加一个小功能,单独测试,然后植入系统。代码使用了从网上下载的函数,模块单独运行,没有问题,但是放在系统中运行就会出问题。不得已的情况下,只能一行行代码排查,发现一个地方使用了malloc但是没有使用free。结果,发现malloc(rdata_len1);之后使用了......
  • 【动态规划】【字符串】C++算法:正则表达式匹配
    作者推荐视频算法专题涉及知识点动态规划字符串LeetCode10:正则表达式匹配给你一个字符串s和一个字符规律p,请你来实现一个支持‘.’和‘’的正则表达式匹配。‘.’匹配任意单个字符'’匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串s的,而不是部分字符......