<分区>
我正在尝试使用 memcpy 来读取内存。
BYTE test[] = {0x01};
BYTE test2[] = {0x00};
memcpy (test, test2, sizeof(test));
if (test == test2){
MessageBox::Show("Same");
}else{
MessageBox::Show("Different");
}
为什么test和test2总是不一样?
感谢您的帮助。
<分区>
我正在尝试使用 memcpy 来读取内存。
BYTE test[] = {0x01};
BYTE test2[] = {0x00};
memcpy (test, test2, sizeof(test));
if (test == test2){
MessageBox::Show("Same");
}else{
MessageBox::Show("Different");
}
为什么test和test2总是不一样?
感谢您的帮助。
最佳答案
您正在比较 test
和 test2
的地址。请改用 memcmp
。
你的代码等同于
if (&test[0] == &test2[0]){
将其更改为
if (memcmp(test, test2, sizeof(test)) == 0)
应该按预期工作。
关于C++ memcpy 读取内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39835008/