这种比较可以用C ++做吗?
std::string name = "John";
if (name == "Tom")
flag = true;
else
flag = false;
答案 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;