Comment comparer les chaînes

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

if (string == 'add')

Dois-je déclarer 'add' comme une chaîne ou est-il possible de comparer de la même manière?

22
demandé sur Sam 2011-06-03 07:10:37

3 réponses

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

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

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

59
répondu e.James 2013-08-28 18:48:50

Vous devez utiliser strcmp.

if (strcmp(string,"add") == 0){
    print("success!");
}
9
répondu Christopher Armstrong 2011-06-03 03:12:27

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;
}
1
répondu Algorithmist 2018-04-30 05:40:28