3 c++ hex pointers memory-management hexdump
我使用指针来指定某种"共享内存",我用它来在不同的进程/线程之间交换数据.现在我想对共享缓冲区的内容进行十六进制转储.有谁知道这是怎么做到的吗?
谢谢,R
小智 14
当然使用强制转换:-)函数看起来像这样:
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;
}
Run Code Online (Sandbox Code Playgroud)
然后在使用中:
Foo * f = GetSharedFoo();
Dump( f, somesize );
Run Code Online (Sandbox Code Playgroud)
somesize是你想要转储多少.