C++或者C#如何读取指定内存地址的值?

C++或者C#如何读取指定内存地址的值?只要读就行了,我想读一片连续地址的值!int*p;p=(int*)0x2FA400d8;cout<<*p<<endl;这样读,会报... C++或者C#如何读取指定内存地址的值?只要读就行了,我想读一片连续地址的值! int *p;
p = ( int *)0x2FA400d8; cout << *p <<endl;这样读,会报错!我应该怎么做呢?我是新手,知道的最好写下简单的代码!只要能读就可以了!
展开
 我来答
匿名用户
2013-04-17
展开全部
每个程序都有自己的内存地址,不是你随便指定一个就可以读的,要在该程序合法的地址段内才可以读。不能读不属于该程序的地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
狮是搞完泪18
2013-04-17 · TA获得超过270个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:258万
展开全部
Marshal.ReadByte(IntPtr address, int offset);

从指定的地址中读取一个字节的数据
address:内存地址
offset:地址偏移量
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
刘顺阴浩阔
2020-02-15 · TA获得超过1152个赞
知道小有建树答主
回答量:1663
采纳率:100%
帮助的人:7.9万
展开全部
若楼主能获得连续内存的地址值,可以这样读取其内容:(假设有一个地址是12ff7c)
const
int
*p;
p=0x12ff7c;
printf("%d",*p);
这三句可以读取并打印12ff7c这个地址的内容。
但请注意,12ff7c必须是十六进制地址值,p=0x12ff7c;前面的0x不能少,否则,编译将不能识别12ff7c是地址。用vc
6.0编译以上三行代码,可能会出现警告,楼主不用理会,继续编译、连接、运行,最后,是可以读出结果的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-17
展开全部
在WINDOWS下无法进行这个操作了.只能访问自己的程序空间,这种操作只能DOS下这种非保护模式下的操作系统
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
芮济萨智宸
2020-03-12 · TA获得超过1079个赞
知道小有建树答主
回答量:1628
采纳率:96%
帮助的人:9.2万
展开全部
可以,,通过api函数就可以,,不过c#不能直接读取内存值,,不过可以调用系统的api
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式