如何比较字符串

新手上路,请多包涵

我想比较一个字符串而不实际将其中一个定义为字符串,就像这样,

 if (string == "add")

我必须将 "add" 声明为字符串还是可以以类似的方式进行比较?

原文由 Anon 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 657
2 个回答

在 C++ 中, std::string 类实现了 比较运算符,因此您可以使用 == 执行比较,正如您所期望的:

 if (string == "add") { ... }

如果使用得当, 运算符重载 是一个出色的 C++ 特性。

原文由 e.James 发布,翻译遵循 CC BY-SA 4.0 许可协议

您可以使用 strcmp()

 /* strcmp example */
#include <stdio.h>
#include <string.h>

int main ()
{
  char szKey[] = "apple";
  char szInput[80];
  do {
     printf ("Guess my favourite fruit? ");
     gets (szInput);
  } while (strcmp (szKey,szInput) != 0);
  puts ("Correct answer!");
  return 0;
}

原文由 Algorithmist 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题