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