Partage
  • Partager sur Facebook
  • Partager sur Twitter

"Bus Error" avec toupper() (apparemment)

Et puis d'abord... c'est quoi une "Bus Error" o_O

Sujet résolu
    17 août 2006 à 14:59:42

    Bonjour à tous ! :D
    Je fais un petit programme, et dedans, bah il y a une fonction, et dedans, bah il y a ... une error (une erreur de bus selon le compilateur, il a fumé o_O^^ )
    Voilà la fonction

    char* crypt(char messageClair[], char alphabetCrypte[]) // fonction qui crypte un message messageClair avec alphabetCrypte
    {
        char messageCode[NBR_MAX_CARAC_MESSAGE] = "", messageClairCopy[NBR_MAX_CARAC_MESSAGE] = "", caracBoucle = ' ';
        long longeurMessage = 0, i = 0, chrPosition = 0;
       
        strcpy(messageClairCopy, messageClair);
        longeurMessage = strlen(messageClair);
       
        while(i < longeurMessage)
        {
            caracBoucle = messageClairCopy[i];
            printf("\\n%c", caracBoucle);
            toupper(caracBoucle);
            printf("\\n%c", caracBoucle);
            chrPosition = strChrPosition(ALPHABET, caracBoucle);
            messageCode[i] = alphabetCrypte[chrPosition];
           
            i++;
        }
        return messageCode;
    }


    L'erreur concerne apparemment la ligne

    toupper(caracBoucle);


    Je ne vois pas d'où ça vient :'( d'autant plus qu'il n'y a pas d'erreur à la compilation... c'est pendant l'exécution...

    Merci d'avance ;)
    • Partager sur Facebook
    • Partager sur Twitter
      17 août 2006 à 15:38:17

      Celle qu'il y a juste au dessous de ma phrase "L'erreur concerne apparemment la ligne" ^^ ("toupper(caracBoucle);")

      EDIT: Haha ! oui ! Quelle erreur bête ! Merci angelsafrania !! :D
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        17 août 2006 à 15:39:02

        c'est simple c'est que toupper renvoy la valeur du caratère majuscul et que tu l'enregistre pas.
        donc ca te donne comme code

        char* crypt(char messageClair[], char alphabetCrypte[]) // fonction qui crypte un message messageClair avec alphabetCrypte
        {
            char messageCode[NBR_MAX_CARAC_MESSAGE] = "", messageClairCopy[NBR_MAX_CARAC_MESSAGE] = "", caracBoucle = ' ';
            long longeurMessage = 0, i = 0, chrPosition = 0;
           
            strcpy(messageClairCopy, messageClair);
            longeurMessage = strlen(messageClair);
           
            while(i < longeurMessage)
            {
                caracBoucle = messageClairCopy[i];
                printf("\n%c", caracBoucle);
                caracBoucle = toupper(caracBoucle);/*c'est ici le changement*/
                printf("\n%c", caracBoucle);
                chrPosition = strChrPosition(ALPHABET, caracBoucle);
                messageCode[i] = alphabetCrypte[chrPosition];
               
                i++;
            }
            return messageCode;
        }
        • Partager sur Facebook
        • Partager sur Twitter

        "Bus Error" avec toupper() (apparemment)

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown