Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C]Probleme sur les exos des Chaines de caractères

Je comprends pas pourquoi ca ne marche pas

Sujet résolu
    15 juin 2006 à 0:03:35

    Tout dabord bonsoir a tous :) . Alors voila suite au tuto de M@teo sur les chaines de caracteres j'ai voulu,comme il nous l'avait conseillé, de réécrire les fonctions string a notre manière.
    Alors en voulant créer une fonction similaire à la fontion strcopy j'ai tout de suite vu que ma chaine copie affichait à la compilation.......Rien du tout o_O .

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

           void strcopie(char chaine[],char copie[]);

           int main(int argc,char *argv[])
           {
                char chaine[] ="Salut",copie[100]={0};
               
                strcopie(copie,chaine);
                printf("Chaine d'Origine : %s.\nChaine Copiee : %s.",chaine,copie);

                return 0;
           }

             void strcopie(char copie[],char chaine[])
             {
                  int i = 0 ;

                  for(i = 0;i != strlen(chaine) + 1;i++)
                  {
                      copie[i] = chaine[i];

                  }
             }


    Je ne vois pas où est ma faute en esperant qu'elle n'est pas trop ridicule . :euh:
    Merci pour vos répponses :) .
    • Partager sur Facebook
    • Partager sur Twitter
      15 juin 2006 à 9:13:23

      ta fonction strcopie ne renvoie rien donc dans ton main tu ne peux pas te servir de copie.

      mets ton printf dans ta fonction à la suite de ton for.

      en parlant du for :
      for(i = 0;i != strlen(chaine) + 1;i++)

      tu devrais mettre :
      for(i = 0;i <= strlen(chaine) + 1;i++)


      • Partager sur Facebook
      • Partager sur Twitter
        15 juin 2006 à 13:03:33

        Euh ta fonction fonctionne très bien. Y a pas de problème là... du moins pas chez moi.

        Elle fait la même chose que ça :

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

        void copierChaine(char *chaine, char *copie);

        int main()
        {
                char chaine1[10] = "pouette";
                char copie1[10];

            copierChaine(chaine1, copie1);

            printf("chaine1 : %s --> copie1 : %s", chaine1, copie1);
                return 0;
        }

        void copierChaine(char *chaine, char *copie)
        {
            int longueur = strlen(chaine), compteur;

            for(compteur = 0; compteur <= longueur; compteur++)
            {
                *(copie + compteur) = *(chaine + compteur);
            }
        }
        • Partager sur Facebook
        • Partager sur Twitter
          15 juin 2006 à 23:39:11

          Oui effectivement apres avoir rebooter mon ordi tout a marché tres bien.
          Bizarre.....bizarre o_O .
          Enfin merci de m'avoir aidé :) .
          • Partager sur Facebook
          • Partager sur Twitter

          [C]Probleme sur les exos 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