我使用VC2010,我发现在调试和编写时,相同的数据的表示方式不同。
例如:37487840ca673239dc72f9eeb746947a表示为

0x0022f844 "37487840ca673239dc72f9eeb746947a"   unsigned char [33]


0x0022f670 "48598840ca673239dc72f9eeb746947a"   unsigned char [33]

我想要第一个表示,但是第二个表示被写入文件而不是第一个。
编辑:
第一个值和第二个值必须相同,因为第二个值只是第一个值的副本。实际上,我将第一个值作为参数传递给了一个函数,第二个值在该函数中执行任何操作之前表示它。

最佳答案

0x0022f844是十六进制数的一个示例。这是(默认情况下)用于显示地址的格式。所以这个值,在不同的运行中是不同的,它是值所在内存区域地址的“人类可理解的”表示。把它归档是没用的。而要储存你的价值。

关于c - 调试时,watch的value列中的0x0022f844代表什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9443036/

10-13 04:55