按序打印输出内存地址及存储单元内容 存储过程打印输出

按序打印输出内存地址及存储单元内容 存储过程打印输出

通过内存地址输出该内存上存储的相应的64个字节数据,输出格式如下:

0x00040000 1234 5678 536e 4f7d1234 5678 536e4f7d

0x00040010 1234 5678 536e 4f7d1234 5678 536e4f7d

分析:每行共8个16位数据,共输出2行;且每4个字节相隔一个空字符。

步骤如下:定义一个数组指针,并将该数据单元的内存首地址赋值给数组指针;打印第一行内存地址

编程如下:

#include <iostream>
using namespace std;

void memprint(void *address,int datasize,int row)
{
unsignedchar *pAddr = (unsigned char*)address;
while(datasize)
{
int nCurSize = min(datasize, row);
printf("0x%8X", pAddr );


// 输出16进制数据

if((pAddr[i] < ' ') || (pAddr[i] >'z'))// 输出错误
{
printf("The datacan notbeerror!");
}

else{
for (int i = 0; i < nCurSize; i++)
{
printf("%4X", pAddr[i]);//输出数组pAddr[i]的32位数(16进制表示为%4X)

printf("");//补空白
}

}
printf("n");//换行输出


// 打印下一列
datasize -= nCurSize;
pAddr += nCurSize;
}
}

void main()
{
void*address;//内存单元地址
intdatasize;//数据大小
introw;//行大小

printf("输入数据大小和行的大小:");
scanf("%d%d", &datasize, &row);

address =(void*)malloc(datasize);
memprint(address, datasize, row);
free(address);
}

  

爱华网本文地址 » http://www.413yy.cn/a/25101011/66097.html

更多阅读

存储过程基本语法及实例 存储过程语法

存储过程如同一门程序设计语言,同样包含了数据类型、流程控制、输入和输出和它自己的函数库。--------------------基本语法--------------------一.创建存储过程create procedure sp_name()begin.........end二.调用存储过程1.基

Matlab 2012b下载地址及安装方法 matlab2012安装教程

Matlab 2012b下载地址及安装方法——简介本文给出Matlab 2012b的下载地址以及破解安装方法,破解方法可在百度文库直接搜到......安装文件及破解均可在我百度网盘分享的文件中找到Matlab 2012b下载地址及安装方法——下载地址

怎么查询对方qq的ip地址及地理位置 显示对方ip地址的qq

怎么查询对方qq的ip地址及地理位置——简介相信不少QQ朋友都用过QQ聊天软件自带的“我的共享位置及天气“功能,利用这一功能,你的QQ好友就可以随时随地了解你所在的地理位置。然而由于QQ这一地理位置报告功能是可选的,当对方没有启用这

声明:《按序打印输出内存地址及存储单元内容 存储过程打印输出》为网友古亭白衫少年殇分享!如侵犯到您的合法权益请联系我们删除