将内存缓冲区与常量字符串进行比较的正确 C++ 方法是什么 - strcmp(buf, "sometext")
?我想避免由于创建临时 std::string 对象而导致不必要的内存复制。
谢谢。
最佳答案
如果您只是检查相等性,您可以使用 std::equal
#include <algorithms>
const char* text = "sometext";
const int len = 8; // length of text
if (std::equal(text, text+len, buf)) ...
当然,如果您的缓冲区可以小于文本,这将需要额外的逻辑
关于c++ - 在 C++ 中比较 buffer 和 const char*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/877758/