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 :

retour de la fonction strcmp()


Sujet :

C

  1. #1
    Membre éprouvé
    Inscrit en
    Juin 2008
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 91
    Par défaut retour de la fonction strcmp()
    Bonjour,

    Ma question est de savoir, pourquoi malgré ce que l'ont trouve dans les descriptions de la fonction strcmp à savoir qu'elle retourne une valeur négative ou positive qui d'après certains est la différence entre les caractères faisant défaut d'égalité entre les deux chaines, j'obtiens -1 ou +1 quelle que soit l'écart entre les caractères faisant défaut. est-ce une norme particulière ?
    j'utilise CB v8.02 (MingW-5.1.4).

    Merci par avance.

  2. #2
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    pourquoi malgré ce que l'ont trouve dans les descriptions de la fonction strcmp à savoir qu'elle retourne une valeur négative ou positive
    ou zéro (si les chaînes sont identiques) ...

    qui d'après certains est la différence entre les caractères faisant défaut d'égalité entre les deux chaines
    La norme dit tout simplement négative (chaine1 < chaine2), positive (chaine1 > chaine2) ou nulle (chaine1 = chaine2). Les valeurs effectives dépendent de l'implémentation, c'est pourquoi un code qui veut être portable doit juste se contenter de ce que la norme garantit.

  3. #3
    Membre éprouvé
    Inscrit en
    Juin 2008
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 91
    Par défaut
    Citation Envoyé par Melem Voir le message
    Les valeurs effectives dépendent de l'implémentation
    La partie qui m'intéresse serait celle-ci tout le reste j'ai déjà remarqué dans les descriptions de strcmp
    Donc pour conclure aucune logique ou norme pour préciser cette valeur ?

    Et merci pour la réponse.

  4. #4
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Par défaut
    Citation Envoyé par uknow Voir le message
    Donc pour conclure aucune logique ou norme pour préciser cette valeur ?
    D'une manière portable, non.

    Pour une implémentation particulière, il faut regarder du côté de la documentation de l'implémentation en question. Mais si tu utilises cette spécificité, il faut bien être conscient, comme l'a très justement fait remarquer Melem, que le programme est moins portable.

Discussions similaires

  1. Probleme sur fonction strcmp
    Par Invité dans le forum C
    Réponses: 8
    Dernier message: 10/01/2006, 00h02
  2. PL/SQL retour d'une fonction
    Par aaronw dans le forum PL/SQL
    Réponses: 2
    Dernier message: 13/12/2005, 13h25
  3. [Oracle 9.1] Types de retour d'une fonction PL/SQL
    Par ftrifiro dans le forum PL/SQL
    Réponses: 8
    Dernier message: 12/10/2005, 16h54
  4. valeur de retour de la fonction "system" en C
    Par benhoeil dans le forum C
    Réponses: 14
    Dernier message: 16/09/2005, 11h30
  5. Pourquoi une seule valeur de retour pour les fonctions ?
    Par Bruno75 dans le forum Langages de programmation
    Réponses: 33
    Dernier message: 18/01/2004, 13h58

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