我的意思是,我分配了一段内存,可能是 1k 也可能是 20 字节。
假设指针是 pMem我怎么知道 pMem 引用的内容都是 Zero\0.我知道 memcmp 但第二个参数应该是另一个内存地址...
谢谢

最佳答案

正如其他人已经建议你可能想要 memsetcalloc

但是如果你真的想检查一个内存区域是否全为零,你可以将它与自身进行比较,但移动一。

bool allZero = pMem[0] == '\0' && !memcmp(pMem, pMem + 1, length - 1);

其中 length 是您希望为零的字节数。

10-08 05:14