IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

construire un tableau de chaines de caractère


Sujet :

C

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 68
    Points : 47
    Points
    47
    Par défaut construire un tableau de chaines de caractère
    bonjours;
    dans un programme c, je veux construire un tableau de chaines de caractère à partir d'un tableau déjà existé. pour cela j'ai créé un tableau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    char *chaine[]={"azer","qsdf","wxcv"} ;
    char *destination[];
    lorsque je met:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strcat(destination[1],chaine[1]);
    je reçois quelque chose comme ça: #@&qsdf .
    c-à-dire que destination[1] contient déjà "#@&".
    donc comment initialiser le tableau destination à NULL pour qu'il ne reçoit que ce qu'il y a dans le tableau chaine ?

    cordialement

  2. #2
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    630
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 630
    Points : 234
    Points
    234
    Par défaut
    Ce n'est peut être pas strcat qu'il te faut, c'est peut être strcpy (fait man strcpy). strcat ajoute une nouvelle chaine à la fin d'une chaine déjà existante, d'où #@& dans #@&qsdf.
    De toute façon, Il faut que tu alloues la place mémoire necessaire pour destination[1].

  3. #3
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Si le tableau est déjà existant, autant préserver son intégrité en ajoutant const avant son type de variable.

    Ensuite comme le dis ikuzar, strcpy est le bon choix...

    Tu peux allouer statiquement la taille de ta liste de chaîne (destination) étant donné que tu connais déjà la taille de ta liste de chaîne (chaine).

    Donc ça devrait être quelque chose de ce style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    int main(void)
    {
        int ind;
        const char *chaine[] = {"azer","qsdf","wxcv"};
        char destination[3][5];
     
        for(ind=0; ind<3; ind++)
            strcpy(destination[ind], chaine[ind]);
     
        printf("%s\n", destination[1]); /* pour test */
     
        return 0;
    }
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  4. #4
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 68
    Points : 47
    Points
    47
    Par défaut
    c'est claire maintenant ! merci bien à tous !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 31/05/2007, 15h10
  2. tableau de chaine de caractères
    Par psgman113 dans le forum C
    Réponses: 15
    Dernier message: 22/01/2007, 18h52
  3. Pointeur, tableau et chaines de caractères.
    Par rouliane dans le forum C++
    Réponses: 8
    Dernier message: 19/12/2006, 20h27
  4. Réponses: 15
    Dernier message: 04/11/2006, 10h02
  5. [C] tableau de chaines de caractères
    Par kitsune dans le forum C
    Réponses: 18
    Dernier message: 01/04/2006, 18h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo