Aide:probleme strcat

Fermé
Hasti - 26 juin 2005 à 22:13
mamiemando
Messages postés
31045
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
14 mai 2022
- 28 juin 2005 à 00:37
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

mamiemando
Messages postés
31045
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
14 mai 2022
7 345
27 juin 2005 à 00:48
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
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
mamiemando
Messages postés
31045
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
14 mai 2022
7 345
28 juin 2005 à 00:37
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