1

这种比较可以在 C++ 中进行吗?

std::string name = "John";

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

2 回答 2

12

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

或者,您可以只写

flag = name == "Tom";

或使用std::string::compare0如果字符串匹配则返回)

于 2013-01-16T14:25:02.423 回答
-5

要比较 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 <string.h>

于 2013-01-16T14:32:35.910 回答