J'ai deux variables: Je veux vérifier si ces deux sont égaux ... en utilisant Que dois-je utiliser et quelqu'un peut-il expliquer pourquoi utiliser Cette action serait différente dans C et C ++? P > p> Charttime == buf code> ne fonctionne pas. p>
== code> ne fonctionne pas? p>
5 Réponses :
Vérifiez-les dans A pour boucle. Obtenez les numéros ASCII pour chaque caractère une fois qu'ils changent, ils ne sont pas égaux. P>
Est-ce le moyen le plus simple de le faire? Doit être quelque chose de mieux?
Il est fait référence à Johannes Schaub - Litb Post.
std::string charTime = "TIME", buf = "SOMETHINGELSE"; bool equal = (charTime == buf);
En effet, C ++ permet une surcharge de l'opérateur, qui surcharge le == code> pour effectuer une comparaison de contenu, à la place du "code"
char [] code> s
== code>, qui est la comparaison de référence.
N'avez-vous pas besoin de #define votre type Bool pour C aussi?
@MIM: C99 a un type bool code>. Donc, vous auriez probablement seulement besoin de le définir avec MSVC.
@MIM, comme le dit Johannes Rössel, C99 dispose d'un type code> BOOL code>. Vous devez inclure
bool code> ou vous devez utiliser le type d'intégré
_bool code> ( que le
bool code> sera un
#define code> pour) ou juste uni
int code>.
in c Vous pouvez utiliser la fonction STRCMP à partir de String.h, il renvoie 0 si elles sont égales
Vous vérifiez l'identité Charntime code> et
buf code>. Pour vérifier l'égalité, bouclez sur chaque caractère dans un tableau et comparez-les avec le caractère associé dans l'autre matrice. P>
dans une expression utilisant Ce dont vous avez besoin est la fonction de bibliothèque standard == code> Les noms de
Char code> Tableaux décrivent dans
char * code> pointant vers le début de leurs tableaux respectifs. La comparaison est ensuite effectuée en termes de valeurs des pointeurs eux-mêmes et non du contenu réel des matrices.
== code> ne reviendra que TRUE pour deux pointeurs pointés vers le même emplacement et faux sinon , même s'ils montrent deux tableaux avec des contenus identiques. p>
STRCMP code>. Cette expression évalue comme true si les matrices contiennent le même contenu (jusqu'à la prise NULL de terminaison qui doit être présente dans les deux tableaux FR
STRCMP code> pour fonctionner en toute sécurité). P>
strcmp(charTime, buf) == 0
BTW:
Char [] code> est un type incomplet.
CHARTIME code> est en fait de type
char [5] code> et
buf code> est en fait de type
char [14] code>. Le compilateur compte pour nous dans ce cas pour compléter le type.