比较char *(C / C ++)的最快方法?

时间:2018-05-15 11:24:40

标签: c++ c char compare

如果我有char*是另一个函数的输出,并且我知道它是10个已知单词之一,那么查找它的最佳方法是什么?

char*转换为string std::string(char*),然后使用string.compare()

char* c = "hi";
string s = std::string(c);
if (s.compare("hello") )

这是最好的方法吗?我不能直接写:

char* c ="hi";
if(c == "hello")

1 个答案:

答案 0 :(得分:2)

由于您已有C字符串,只需使用strcmp即可。它可能比s.compare方法更快,因为您可以避免为原始字符串和要比较的字符串转换为std::string的开销。

if (strcmp(c, "hello") == 0) {
    ...