C++ memcmp 因无符号字符数组而失败?

标签 c++ memcmp

我在使用 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/

相关文章:

c++ - 使用具有多个目标的 CodeCoverage.cmake 进行代码覆盖率分析

C++ is_trivially_copyable 检查

c++ - 为什么这比 memcmp 慢

c++ - C++ 编译器内联函数局部 lambda 的效率如何?

c++ - 氧气错误 : Found ';' while parsing initializer list

C++ MySQL 链接器错误

c++ - 比较 sha1 哈希是否相等的最佳方法

c - memcmp(ptr1, ptr2, 0) 的返回值?

c++ - memcmp/strcmp 与 uint64_t 比较

c++ - 无法在 VS 2015 (express for desktop) update 3RC 中创建或打开 *.VC.db 文件