Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme de comprehension

Sujet résolu
    25 juin 2007 à 17:33:39

    Je viens de lire un nouveau chapitre qui porte sur les "char":
    http://www.siteduzero.com/tuto-3-4144-1-les-chaines-de-caracteres.html
    je vais a la troisieme partie nommé "Fonctions de manipulation des chaînes" et je descend jusque la ou mon explique comment "copier une chaîne dans une autre".



    On montre un fichier "main.c" dans lequel se trouve le debut d'un prototype. Celui ci a du etre enregistrer dans un autre fichier appelé surement prototype puisque'il n'est pas dans le fichier "main.c". Le probleme c'est que ce fichier "main.c" nous montre que l'on peu faire une copie d'un "char" dans un notre "char" MAIS comme le prototype n'est pas afficher, j'ai essayer de le creer pour que cela fasse la meme chose que prevu.J'ai beau tout changer et meme changer les "*" d'endroit rien a faire.

    Voici mon prototype: Je demande a ce que l'on m'explique ce qui ne va pas car la ca fait une bonne heure que je cherche !!!!!


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

    char* strcpy(char* copieDeLaChaine, const char* chaineACopier);

    int main(int argc, char *argv[])
    {
        char bonjour [] = "Salut";
        char prenom [100];
        char copieDeLaChaine [100] = {0};
        const char chaineACopier [] = "texte a copier";



        strcpy(chaineACopier, copieDeLaChaine);


        printf("donne ton nom:\n");
        scanf("\n%s", prenom);
        printf("\n%s",bonjour);
        printf("\n%s", prenom);
        printf("\n%s ET %s", chaineACopier ,copieDeLaChaine);

        return 0;
    }




    char* strcpy(char* copieDeLaChaine, const char* chaineACopier)
    {
        *copieDeLaChaine = chaineACopier;




        }



    Merci d'avance de vos reponse.
    • Partager sur Facebook
    • Partager sur Twitter
      25 juin 2007 à 17:39:45

      char* strcpy(char* copieDeLaChaine, const char* chaineACopier)
      {
          *copieDeLaChaine = chaineACopier;
      }



      ça sert strictement à rien.
      • Partager sur Facebook
      • Partager sur Twitter
        25 juin 2007 à 17:41:27

        pourquoi ca sert a rien ???

        NB: on pourrais m'expliquer !!!
        • Partager sur Facebook
        • Partager sur Twitter
          25 juin 2007 à 17:56:00

          parce qu'elle se trouve déjà dans l'un des includes.
          • Partager sur Facebook
          • Partager sur Twitter
            25 juin 2007 à 17:58:41

            COmment je fais pour que le texte se copie dans l'autre variable !!!!!!!!!

            parceque dans le chapitre que j'ai lu, on apprends a copier un texte d'une variable a une autre ET avec moi ca marche pas. Alors pourrait-on m'expliquer comment la copier dans une autre variable !!

            Est-ce que quelqu'un sait copier un texte d'une variable a une autre variable???Pouuriez-vous me l'expliquer ???
            MERCI D'AVANCE



            NB: si j'enleve mon prototype, mon texte ne s'affiche pas a l'ecran que ce soit pour la variable contenant le texte ou pour la variable contenant une copie du texte ALORS que si je le laisse, mon texte s'affiche pour la variable qui contient le texte MAIS pour l'autre qui doit contenir une copie du texte; J'AI DONC BESOIN D'AIDE.
            • Partager sur Facebook
            • Partager sur Twitter
              25 juin 2007 à 19:32:29

              Citation

              int main(int argc, char *argv[])
              {
                  /* On crée une chaine "chaine" qui contient un peu de texte
                  et une copie (vide) de taille 100 pour être sûr d'avoir la place
                  pour la copie */

                  char chaine[] = "Texte", copie[100] = {0};

                  strcpy(copie, chaine); // On copie "chaine" dans "copie"

                  // Si tout s'est bien passé, la copie devrait être identique à chaine
                  printf("chaine vaut : %s\n", chaine);
                  printf("copie vaut : %s\n", copie);


                  return 0;
              }


              tiens ça c'est dans le cours, c'est simple, t'as même pas à réfléchir.

              n.b: oublie pas les includes ;)
              • Partager sur Facebook
              • Partager sur Twitter
                26 juin 2007 à 8:15:56

                c'est bon, j'ai compris qu'il fallait enlever le prototype avant le "int" et aussi ce que j'avais creer. Je n'avais pas du tout compris qu'il suffisait de mettre juste une ligne de code pour faire une copie. J'ai du confondre avec les copie de chiffre , ou on devait utiliser de long prototype.
                • Partager sur Facebook
                • Partager sur Twitter
                  26 juin 2007 à 9:57:18

                  tarentule : c'est parceque strcpy à déjà été codée par quelqu'un d'autre, et qu'elle se trouve déjà dans <string.h>.
                  Alors que ton autre fonction avec les long là, c'était toi qui l'avait créée (du moins je pense), donc c'était à toi de placer les prototypes, etc... Pour que le compilateur "apprenne" cette nouvelle fonction qu'il ne connaît pas (enfin, "apprenne", c'est une image hein, il l'aura oubliée à la fin de la compilation).
                  • Partager sur Facebook
                  • Partager sur Twitter
                  J'ai déménagé sur Zeste de savoir — Ex-manager des modérateurs.

                  probleme de comprehension

                  × 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