我的意思是,我分配了一段内存,可能是 1k 也可能是 20 字节。
假设指针是 pMem
我怎么知道 pMem
引用的内容都是 Zero
或 \0
.我知道 memcmp
但第二个参数应该是另一个内存地址...
谢谢
最佳答案
正如其他人已经建议你可能想要 memset 或 calloc 。
但是如果你真的想检查一个内存区域是否全为零,你可以将它与自身进行比较,但移动一。
bool allZero = pMem[0] == '\0' && !memcmp(pMem, pMem + 1, length - 1);
其中 length 是您希望为零的字节数。