Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C] Les structures

Comment les remplir ?

    6 décembre 2006 à 0:04:15

    Bonjour,

    J'ai crée une structure :

    struct personne
    {
       char *nom;
       char *prenom;
    }


    et une chaine de caractère :

    char *c = "saora";


    par exemple.

    Comment puis-je faire pour mettre ma donnée saora dans le champ prénom de ma structure ?

    Faut-il faire :

    personne.prenom = c;


    Faut-il utiliser strchr et faire :

    strcpy (personne.prenom, c);


    Ou bien faut-il procéder d'une toute autre façon.

    Merci de votre réponse
    • Partager sur Facebook
    • Partager sur Twitter
      6 décembre 2006 à 0:08:04

      La deuxième méthode est la bonne ! Le problème vient de ta structure. Tu as défini des pointeurs sur char, mais pas des chaines de caractères (tableau de char). Tu as le choix :

      1) Définir une chaine avec une taille maximum (tableau statique).
      2) Allouer dynamiquement la mémoire nécessaire pour stocker une chaine quelconque saisie au clavier par exemple.

      Edit :

      C'est pas la première fois que je vois cette erreur sur le forum. Je te conseille fortement de bien relire les chapitres sur les pointeurs, la relation avec les tableaux ainsi que le chapitre sur les chaines de caractères !

      bonne soirée !
      • Partager sur Facebook
      • Partager sur Twitter
      Inkamath on GitHub - Interpréteur d'expressions mathématiques. Reprise du développement en cours.

      [C] Les structures

      × 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