如果我有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")
答案 0 :(得分:2)
由于您已有C字符串,只需使用strcmp
即可。它可能比s.compare
方法更快,因为您可以避免为原始字符串和要比较的字符串转换为std::string
的开销。
if (strcmp(c, "hello") == 0) {
...