web-dev-qa-db-fra.com

Comment comparer des chaînes

Je voulais comparer une chaîne sans en définir une en tant que chaîne, quelque chose comme ça,

if (string == 'add')

Dois-je déclarer 'add' en tant que chaîne ou est-il possible de comparer de manière similaire?

25
Anon

En C++, la classe std :: string implémente les opérateurs de comparaison , vous pouvez donc effectuer la comparaison en utilisant == comme vous pouvez vous y attendre:

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

Lorsqu'il est utilisé correctement, surcharge de l'opérateur est une excellente fonctionnalité C++.

62
e.James

Vous devez utiliser strcmp.

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

Vous pouvez utiliser 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