将char数组的内容写入.mem文件

时间:2016-04-11 16:53:42

标签: c++

我正在编写malloc,memcpy,free,ect的模拟过程,并且需要能够将char数组的内容转储到二进制.mem文件中。我能够获得启动的每个进程的PID,但不知道如何创建和写入.mem。

实现这个目标的标准方法是什么?

1 个答案:

答案 0 :(得分:1)

c ++中用十六进制文本表示输出unsigned char值的标准方法是:

 std::ostream& hexdump(std::ostream& os, unsigned char[] mem, size_t size) {
     std::ios_base::fmtflags oldflags = os.flags;
     os << std::hex << std::setfill('0');
     for(size_t i = 0; i < size; ++i) {
         os << setw(2) << (int)mem[i];
     }
     os.flags(oldflags);
     return os;
 }