比较c ++中的两个std :: strings

时间:2013-01-16 14:24:29

标签: c++ string

这种比较可以用C ++做吗?

std::string name = "John";

if (name == "Tom")
   flag = true;
else
   flag = false;

2 个答案:

答案 0 :(得分:12)

是的,因为std::string operator ==重载const char*

或者,你可以写

flag = name == "Tom";

或使用std::string::compare(如果字符串匹配,则返回0

答案 1 :(得分:-4)

为了比较c ++中的字符串,我建议您使用STRCMP:

#include <string.h>
....
STRCMP(name,"Tom"); // This will return 0 if they are equal

因此您应该将其用作:

if (STRCMP(name,"Tom")==0)
  flag = true;
else
  flag = false;

记得使用#include&lt; string.h&gt;