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?
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++.
Vous devez utiliser strcmp
.
if (strcmp(string,"add") == 0){
print("success!");
}
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;
}