我在使用 memcmp 时遇到了一个小问题。我有两个数组(长度 = 3 字节),数据完全相同。
如果我尝试将它们与 memcmp 进行比较,它会失败吗?!
if (memcmp(ucbuffer, ucnewbuffer, buffer.sDeviceData.sLenght)) {
cout << "val written, val ok!\n";
};
ucbuffer, ucnewbuffer 都是 unsigned char * 并且分配使用
calloc(buffer.sDeviceData.sLenght, sizeof(unsigned char);
如果我手动比较两个数组,结果将完全相同。
你有什么想法吗?
祝你有个愉快的夜晚。
最佳答案
当缓冲区比较相等时,该函数返回零(即不为真)。
关于C++ memcmp 因无符号字符数组而失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11036841/