我正在编写malloc,memcpy,free,ect的模拟过程,并且需要能够将char数组的内容转储到二进制.mem文件中。我能够获得启动的每个进程的PID,但不知道如何创建和写入.mem。
实现这个目标的标准方法是什么?
答案 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;
}