我使用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);
如果我手动比较两个数组,它们将导致完全相同。
你有什么想法吗?
度过一个愉快的夜晚。
答案 0 :(得分:9)
当缓冲区比较相等时,该函数返回零(即,不为真)。