Aide:probleme strcat

Hasti -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
salut tout le monde,
je veus concatener a une chaine de caractère un ou plusieurs caractères ,selon une condition, qui se trouvent dans un tableau de caracteres.Mais comme vous pouver le dèduire que l'èlement a concatener a ma chaine n'est pas une constante mais il est deteminer a partir d'une condition au cours d'une doucle qui parcoure un tableau.
J'ai chercher partout mais je n'est pas trouver la syntaxe pour ajouter une chaine non constante a ma chiane initile.En effet j'ai trouver la syntaxe suivante qui ne me seve a rien:
strcat(char*,cont char*);
je compte sur votre aide merci.

3 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Voici le prototype de strcat
    strcat(char *dest, const char *suffixe);

    dest n'est pas const car elle va évoluer (on va lui rajouter source au bout.
    src par contre n'a aucune raison d'évoluer à l'intérieur de l'appel de strcat d'où le const.

    Seulement voilà toi tu travailles avec deux char * ordinaires, et donc ton deuxième paramètre n'est pas de type const char *. Et c'est là que le cast intervient ;o)
    strcat(dest,(const char *) suffixe);

    Plus d'info : man strcat
    0
  2. Hasti
     
    salut Mamimando,
    Je vous remerci pour votre aide,mais comme je suis encore débutant en language C je n'ai pas bien saisi ce que vous m'avez ecrit.
    Est ce que vous voulez dire que je doit declarer ma chaine suffixe de cette maiere:
    const char ch1[20];
    C'est ce que j'ai fais mais j'ai encore des nouveux problemes!!!
    0
  3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Tu peux me tutoyer ;)
    #include <string.h>
    
    int main(){
        char prefixe[100]="Les tapirs aiment gambader";
        const char suffixe[50]=" dans la prairie.";
        strcat(prefixe,suffixe);
        printf("prefixe = %s\n",prefixe);
        return 0;
    }


    Donne ...
    $ gcc plop.c
    $ ./a.out
    prefixe = Les tapirs aiment gambader dans la prairie.

    0