我使用 memcmp 将 char 指针与空字符串进行比较:
if((0 == memcmp("", pcNewBeginPtr, 1))){
// do some stuff
}
我能够对此进行比较,但是在运行 Valgrind 时,我收到此错误消息:
Invalid read of size 1 at this line.
最佳答案
令人惊讶的是,您可以阅读文档来了解“无效读取”消息的含义。例如。您没有合法地读取 pcNewBeginPtr
处的内存:它已经被释放,没有有效地初始化为指向 char
缓冲区,指向已经退出的作用域中的局部变量等等......
您可能会阅读其他一些问题:例如here .
关于c++ - 在 C++ 中使用 memcmp 在使用 Valgrind 运行时会导致内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29343153/