【发布时间】:2012-08-03 01:00:16
【问题描述】:
给定任何你想转储字节的结构,一种方法是在 C++ 中实现它,如下所示:
void print_bytes(myst *my_struct)
{
char *ptr = (char *)my_struct;
cout << std::hex;
for (size_t i = 0; i < sizeof(*my_struct); i++) {
cout << ptr + i << ": " << ptr[i];
// similar to printf("%p: 0x%x", ptr + i, ptr[i]) right?
}
}
但是上面的打印地址和值都是垃圾。为什么?
【问题讨论】:
-
你为什么要发布一个问题,并在提出问题几秒钟后回答你自己的问题?特别是因为这已经回答了几次了。 Here, per example.
-
提出并回答您的问题是完全有效的。实际上,在问问题本身的同时,还有一个文本框可以回答它。
-
是的,问题是netcoder给出的链接的副本。我在写问题时没有找到它。将其标记为重复。
-
是的,回答您自己的问题是完全有效的。奇怪的是,您的问题和答案都具有完全相同时间戳...