如果我有一个char*
是另一个函数的输出,并且我知道它是 10 个已知单词之一,那么找到它是什么的最佳方法是什么?
通过std::string(char*)
将char*
转换为string
,然后使用string.compare()
?
char* c = "hi";
string s = std::string(c);
if (s.compare("hello") )
这是最好的方法吗?我不能直接写:
char* c ="hi";
if(c == "hello")
由于您已经有一个 C 字符串,只需使用strcmp
. 它可能比s.compare
方法更快,因为您可以避免对原始字符串和要比较的字符串进行std::string
转换的开销。
if (strcmp(c, "hello") == 0) {
...