打印一段内存的函数,调试常用
来源:互联网 发布:史上最恶搞游戏之网络 编辑:程序博客网 时间:2024/05/29 14:17
- void HexDump(char *buf,int len,int addr) {
- int i,j,k;
- char binstr[80];
- for (i=0;i<len;i++) {
- if (0==(i%16)) {
- sprintf(binstr,"%08x -",i+addr);
- sprintf(binstr,"%s %02x",binstr,(unsigned char)buf[i]);
- } else if (15==(i%16)) {
- sprintf(binstr,"%s %02x",binstr,(unsigned char)buf[i]);
- sprintf(binstr,"%s ",binstr);
- for (j=i-15;j<=i;j++) {
- sprintf(binstr,"%s%c",binstr,('!'<buf[j]&&buf[j]<='~')?buf[j]:'.');
- }
- printf("%s\n",binstr);
- } else {
- sprintf(binstr,"%s %02x",binstr,(unsigned char)buf[i]);
- }
- }
- if (0!=(i%16)) {
- k=16-(i%16);
- for (j=0;j<k;j++) {
- sprintf(binstr,"%s ",binstr);
- }
- sprintf(binstr,"%s ",binstr);
- k=16-k;
- for (j=i-k;j<i;j++) {
- sprintf(binstr,"%s%c",binstr,('!'<buf[j]&&buf[j]<='~')?buf[j]:'.');
- }
- printf("%s\n",binstr);
- }
- }
- int main(void)
- {
- char buf[40] = "125a3ADC566742->->45!23afasdb2345~+asd";
- HexDump(buf, strlen(buf), (int)buf);
- return 0;
- }
阅读全文
0 0
- 打印一段内存的函数,调试常用
- 一段打印调试的代码收集
- 常用的内存调试工具
- 调试常用打印方法
- free()函数释放一段分配的内存之陷阱
- ibatis调试,打印sql的函数。
- C 打印调试信息的宏函数
- 集中打印调试信息的模版函数
- 简单调试打印函数
- 两个调试打印函数
- 常用的内存操作函数
- 常用的内存操作函数
- 可以常用的函数模板:打印数组
- 一段Server Push的调试
- 调试的一段小代码
- 一段有趣的函数
- 《NSLog》常用的打印调试语句与自动排版
- 《NSLog》常用的打印调试语句与自动排版
- 有用的函数--功能:求平方根倒数
- hdu 3371 Connect the Cities
- C++ Windows Server 2008 以上版本中IIS安装FastCGI组件
- Java数据结构与算法
- hdu 6097 Mindis (高中数学)
- 打印一段内存的函数,调试常用
- MySQL--基本概念(查看数据库及表)
- OpenJudge百炼-2950-摘花生-C语言
- golang中defer的详解
- Web服务启动时自动加载Servlet,并执行service处理 监听处理
- js appendChild方法应用
- stl
- java 从网络Url中下载文件
- 自动化不是银弹