Partage
  • Partager sur Facebook
  • Partager sur Twitter

Prblème sur la longueur des chaines de caractères

    10 mars 2006 à 11:32:50

    Bonjour, je ne sais pas pourquoi mon code en chaine de caractère ne donne pas la longueur de la chaîne, donc voila, j'ai tapé
    long l=strlen(const char* phrase);
    ca ne marche pas, j'ai essayé aussi
    long l=strlen(phrase);
    ca ne marche pas non plus est ce que quelqu'un pourrez m'aider s'il vous plait
    • Partager sur Facebook
    • Partager sur Twitter
      10 mars 2006 à 11:38:41

      Ton premier code ressemble vaguement à un prototype : preuve que tu n'as pas bien fait la différence entre un prototype et un appel de fonction. Revois le chapitre sur les fonctions.

      Ton deuxième code est bon par contre.
      Si ça ne marche pas, quelle erreur cela produit-il ? Ca nous aiderait.

      Pour info, il faut que phrase soit défini et que tu aies pensé à inclure string.h !

      #include <stdlib.h>
      #include <stdio.h>
      #include <string.h>

      void main()
      {
          char phrase[] = "Bonjour tout le monde !";
          long l = 0;

          l = strlen(phrase);
      }
      • Partager sur Facebook
      • Partager sur Twitter

      If you'd like to join us, read "How do we work at OpenClassrooms"! :)

        10 mars 2006 à 11:43:46

        Merci de repondre aussi vite, donc le message erreur dit qu'il est incapable de conevrtir char en const char*, sinon j'ai bien rajouté le string.h Pour vous aider je vous donne le code complet:

        #include <stdio.h>
        #include <string.h>
        #include <stdlib.h>
                 void remplace(char phrase);
                 void ascii_code(char carac);
        int main()
        {
           char phrase;
            char carac;
            printf("Entrez votre phrase");
            scanf("%s"‚&phrase);
            printf("Dans cette phrase tous les epaces seront changés par des (_)");
            ascii_code(carac);
            remplace(phrase);
            system("PAUSE");
            return 0;
        }

        void remplace (char phrase)
        {
             int c=0;
             int i;
             int l=0;
             l=strlen(phrase);
             for( i=0; i<l;i++)
             {
                  if(phrase[i]==' ')
                  {
                                  phrase[i]='_';
                                  c++;
                  }
             }
             printf("%s\n"‚$phrase);
             printf("Nombre de remplacement %d"‚c);
        }


        void ascii_code(char carac)
        {
             //     char phrase;
             printf("%d\n"‚carac);     
        }
        • Partager sur Facebook
        • Partager sur Twitter
          10 mars 2006 à 12:25:09

          Dans main : ascii_code(carac);, c'est quoi carac ? même pas initialisé !

          char phrase; whou pinaisse char phrase[255]; par exemple... sinon tu peux stocker qu'un caractère à la fois

          scanf("%s",&phrase); >> devient alors scanf("%s",phrase);

          void remplace (char phrase) >> void remplace (char * phrase)

          Ca te choque pas de faire un phrase[i] sur une variable qui n'est pas un tableau(/pointeur) ?????

          Allez hop on corrige tout ça et vite ! :)
          • Partager sur Facebook
          • Partager sur Twitter
            10 mars 2006 à 16:06:40

            Rhlalalalala -___-"
            Relis TOUT les cours! car franchement lorsque je vois ca:
            printf("%s\n"‚$phrase);

            ou encore ca:
            char carac;


            Je me dis que tu as rien compris au cours.
            • Partager sur Facebook
            • Partager sur Twitter
              10 mars 2006 à 23:59:44

              Tout doux les gras,
              bon je sais que je suis nul en C et que j'ai beaucoup a apprendre c'est ce que j'essaye de faire en faisant un maximum d'exercices et je ne vois pas pourquoi vous ralez autant pour le
              char carac;
              je definie une variable du type caractère que j'appelle "carac", c'est pas ce que vous m'avez apris...? donc je ne vois pas ce qui vous dérange ainsi je renouvele ma requête. Pou aprendre il faut appliquer et apprendre de ces erreurs non? :p et vous risquez de me voir souvent ici par contre le printf c'est une erreur de tape dsl :p je file la corriger
              Je reviens a ce qui me bloque; c'est le l=strlen(phrase); qui ne marche pas et je n'arrive pas à voir pourquoi...
              • Partager sur Facebook
              • Partager sur Twitter

              Prblème sur la longueur des chaines de caractères

              × 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