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 :

Bug de la fonction strcspn?


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Trunks
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 534
    Par défaut Bug de la fonction strcspn?
    Bonsoir,

    Je suis en train de recoder toutes les fonctions de string.h, et j'en suis à la fonction strspn et strcspn.
    Cependant, la fonction strcspn me renvoie un résultat apparemment erroné, et je ne comprends pas pourquoi, je me demande s'il s'agit d'un bug.
    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #include <stdio.h>
    #include <string.h>
     
    int main()
    {
     
      s1 = "Zébulon, comment vas-tu?";
      s2 = "mon cher ami";
     
      printf("%d\n", strspn(s1, s2));
      printf("%d\n", strcspn(s1, s2));
     
      return (0);
    }
    Ca me retourne 6 alors que ça devrait me retourner 5

    Quelqu'un aurait-il une explication?

    Merci

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par Trunks
    Bonsoir,

    Je suis en train de recoder toutes les fonctions de string.h, et j'en suis à la fonction strspn et strcspn.
    Cependant, la fonction strcspn me renvoie un résultat apparemment erroné, et je ne comprends pas pourquoi, je me demande s'il s'agit d'un bug.
    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #include <stdio.h>
    #include <string.h>
     
    int main()
    {
     
      s1 = "Zébulon, comment vas-tu?";
      s2 = "mon cher ami";
     
      printf("%d\n", strspn(s1, s2));
      printf("%d\n", strcspn(s1, s2));
     
      return (0);
    }
    Ca me retourne 6 alors que ça devrait me retourner 5

    Quelqu'un aurait-il une explication?

    Merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    #include <stdio.h>
    #include <string.h>
     
    int main()
    {
     
      char s1[] = "Zébulon, comment vas-tu?";
      char s2[] = "mon cher ami";
     
      printf("%d\n", strspn(s1, s2));
      printf("%d\n", strcspn(s1, s2));
     
      return 0;
    }
    En sortie j'ai 0 et 5

  3. #3
    Membre émérite Avatar de crocodilex
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 697
    Par défaut
    Après correction du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #include <stdio.h>
    #include <string.h>
     
    int main(void)
    {
     
      char *s1 = "Zébulon, comment vas-tu?";
      char *s2 = "mon cher ami";
     
      printf("%d\n", strspn(s1, s2));
      printf("%d\n", strcspn(s1, s2));
     
      return (0);
    }
    j'obtiens 0 et 5

  4. #4
    Membre éclairé Avatar de Trunks
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 534
    Par défaut
    Bah moi je suis sous ubuntu 5.10 (Breezy Badger) et ça me retourne 0 et 6

  5. #5
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par Trunks
    Bah moi je suis sous ubuntu 5.10 (Breezy Badger) et ça me retourne 0 et 6
    Alors je viens d'essayer sous Ubuntu 5.10 et j'obtiens effectivement 0 et 6

  6. #6
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Skyrunner
    Alors je viens d'essayer sous Ubuntu 5.10 et j'obtiens effectivement 0 et 6
    Peut être un gag avec l'accentuée... Pour moi, c'est simple, si on utilise des caractères hors norme, le comportement est indéfini...

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

Discussions similaires

  1. [Dates] Bug avec ma fonction formatage de date
    Par groland dans le forum Langage
    Réponses: 6
    Dernier message: 14/03/2007, 15h24
  2. [MySQL] Bug de la fonction mysql_fetch_assoc ?
    Par guidav dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 08/02/2007, 15h43
  3. Réponses: 15
    Dernier message: 24/01/2007, 22h33
  4. Bug dans la fonction "répéter l'en-tête de groupe sur chaque page"
    Par nanouille56 dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 17/10/2006, 08h04
  5. [9i] bug dans la fonction transform XMLType (XSL) ?
    Par Nico57 dans le forum Oracle
    Réponses: 1
    Dernier message: 20/01/2006, 10h11

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