将字符串与另一个字符串进行比较的最佳方法是什么?

BUR*_*RNS 0 c++

如果我想将一个字符串与另一个字符串进行比较,那么为什么我应该或不应该使用它有什么特别的原因

word1 ==word2;
Run Code Online (Sandbox Code Playgroud)

strcmp(word1,word2);
Run Code Online (Sandbox Code Playgroud)

编辑1:我在我的问题中犯了一个错误,忘记使用'=='代替'='

jua*_*nza 5

word1 =word2;
Run Code Online (Sandbox Code Playgroud)

你不应该使用它,因为它是一个赋值,而不是一个比较.比较两个std::strings是否相等的惯用方法是

bool eq = word1 == word2;
Run Code Online (Sandbox Code Playgroud)

如果您想知道其中一个字符串是否小于另一个字符串,请使用以下std::string::compare方法:

int cmp = word1.compare(word2); // beware: 0 means equality
Run Code Online (Sandbox Code Playgroud)