Char **argv [Résolu]

Signaler
Messages postés
51
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
28 décembre 2006
-
Messages postés
241
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
8 octobre 2007
-
bonjour


je pense que c'est vraiment un problème de débutant mais la je suis perplexe :(


si on a un programme pricipal de ce type :


    int main(int argc, char **argv)

    {

          if ( argv[1] = = "pp" ) cout<<"pp";

          else cout<<"autre";

    }


l'appel de ce programme par " prog pp " et "prog pa" donnera le meme resultat ??


  dans ce cas, faut il faire ceci :

    int main(int argc, char **argv)


    {


          if ( ( argv[1][0] == 'p' ) && ( argv[1][1] == 'p' ) ) cout<<"pp";


          else cout<<"autre";


    }


s'il faut faire la deuxieme solutions ce n'est vraiment pas pratique :(


merci

4 réponses

Messages postés
252
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
5 septembre 2006
1
Petite erreur, c'est :

if ( strcmp( argv[1], "pp" ) == 0 )
{
    ...
}
Messages postés
252
Date d'inscription
vendredi 10 juin 2005
Statut
Membre
Dernière intervention
5 septembre 2006
1
if ( argv[1] == "pp" ) cout<<"pp";

Tu compares des pointeurs, faut utiliser strcmp.

if ( strmp( argv[1], "pp" )
{
    ...
}
Messages postés
51
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
28 décembre 2006

meci de ta réponse, cela marche désormais
Messages postés
241
Date d'inscription
vendredi 23 mai 2003
Statut
Membre
Dernière intervention
8 octobre 2007
1
Salut,

strcmpi() est également très utile dans ce cas, il fait la même chose sauf qu'il ne tient pas compte de la casse.

++

eRoZion