IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Comparer deux chaines de caractères avec strcmp


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 147
    Points : 61
    Points
    61
    Par défaut Comparer deux chaines de caractères avec strcmp
    Je souhaiterai écrire une fonction booléenne qui détermine si 2 chaînes de caractères sont différentes mais je souhaiterais vérifier le résultat avec la fonction strcmp.
    Je ne sais pas comment faire.

  2. #2
    Membre éclairé
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Points : 842
    Points
    842
    Par défaut
    Tape 'man strcmp' sur google et t'aura les infos.
    Regarde à valeur renvoyée.

    Si c'est pas ça, explique mieux ton problème

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 147
    Points : 61
    Points
    61
    Par défaut
    Donc si j'ai bien compris, ceci donnerait-il ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    bool chainediff ( char ch1, char ch2 )
    {
       if (strcmp (ch1,ch2) == 0)
       {
          printf ( "%c", "Les chaines de caractères sont identiques");
       }
       else
       {
          printf ( "%c", "Les chaines de caractères sont différentes");
       }

  4. #4
    Membre éclairé
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Points : 842
    Points
    842
    Par défaut
    Non pas vraiment. Ton code est faux.
    Toi tu compares 2 caractères, or tu veux comparer 2 chaînes.
    Pour récupérer une chaîne de caractère dans ta fonction il faut mettre [] ou *.
    Ensuite c'est %s dans les printfs.
    Et comme tu veux que ta fonction retourne true ou false si les chaînes sont respectivement identiques ou différentes.

    Ca nous donnerais quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    bool chainediff ( char *ch1, char *ch2 )
    {
    	if (strcmp (ch1,ch2) == 0)
    	{
    		printf ( "%s", "Les chaines de caractères sont identiques");
    		return true;
    	}
    	else
    	{
    		printf ( "%s", "Les chaines de caractères sont différentes");
    		return false;
    	}
    }
    Note que si tu utilises bool, true, et false il faut inclure stdbool.h car le type bool n'est pas défini en standart en C.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comparer deux chaines de caractères
    Par xenos dans le forum Delphi
    Réponses: 5
    Dernier message: 18/06/2007, 11h01
  2. Comparer deux chaines de caractères
    Par helww dans le forum C++
    Réponses: 10
    Dernier message: 24/04/2007, 11h26
  3. Réponses: 4
    Dernier message: 08/09/2006, 09h41
  4. Comparer deux chaines de caractères dans un if ?
    Par Xplosif² dans le forum C++
    Réponses: 6
    Dernier message: 25/02/2006, 19h21
  5. comparer deux chaines de caractères
    Par peuf23 dans le forum Langage
    Réponses: 3
    Dernier message: 30/01/2006, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo