web-dev-qa-db-ja.com

文字列を比較する方法

私は実際に文字列を次のような文字列として定義せずに文字列を比較したかったのですが、

if (string == 'add')

'add'を文字列として宣言する必要がありますか、それとも同様の方法で比較できますか?

25
Anon

C++では、std :: stringクラスは 比較演算子 を実装しているため、予想どおり==を使用して比較を実行できます。

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

適切に使用すると、 operator overloading は優れたC++機能です。

62
e.James

strcmpを使用する必要があります。

if (strcmp(string,"add") == 0){
    print("success!");
}

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;
}
0
Algorithmist