加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 内存位置的十六进制转储

发布时间:2020-12-16 10:38:39 所属栏目:百科 来源:网络整理
导读:我用一个指针来指定我用来的某种“共享内存” 在不同进程/线程之间交换数据.现在我想拥有 共享缓冲区内容的十六进制转储.有谁知道这是怎么做到的吗? 谢谢, [R 解决方法 当然使用强制转换:-)函数应该看起来像什么 像这样: void Dump( const void * mem,unsi
我用一个指针来指定我用来的某种“共享内存”
在不同进程/线程之间交换数据.现在我想拥有
共享缓冲区内容的十六进制转储.有谁知道这是怎么做到的吗?

谢谢,
[R

解决方法

当然使用强制转换:-)函数应该看起来像什么
像这样:

void Dump( const void * mem,unsigned int n ) {
  const char * p = reinterpret_cast< const char *>( mem );
  for ( unsigned int i = 0; i < n; i++ ) {
     std::cout << hex << int(p[i]) << " ";
  }
  std::cout << std::endl;
}

然后在使用中:

Foo * f = GetSharedFoo();
Dump( f,somesize );

somesize是你想要转储多少.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读