2010-09-15 15 views
1

je le code suivant:comparer char * avec chaîne macro

#define INPUT_FILE "-i" 

int main(int argc, char* argv[]) { 
    .... 
} 

est-il possible de comparer entre C++ à cordes en argv[] et INPUT_FILE? J'ai essayé

strcmp(argv[1],INPUT_FILE) 

Il compile le retour, mais false chaque fois.

Merci!

Répondre

4

strcmp renvoie 0 s'il y a une correspondance.

+1

oh .. je me sens stupide .. merci !! – Mike

+0

+1 pour la réponse sans jugement, +1 sur le commentaire pour l'auto-flagellation publique –

1

Avez-vous essayé d'imprimer argv[1]? Juste pour vous assurer que vous comparez les bonnes choses ...

Mais vous voulez également vérifier le semantics of strcmp: Il ne vérifie pas si deux chaînes sont identiques, elle vérifie laquelle est la plus grande que l'autre. Avec 0 étant "ni".

+0

oui c'était mon problème .. merci – Mike