COMMENT CONCATENER UN CARACTERE AVEC UNE CHAINE DE CARACTERE EN C??

Signaler
Messages postés
3
Date d'inscription
vendredi 13 mars 2009
Statut
Membre
Dernière intervention
14 mai 2009
-
Messages postés
3
Date d'inscription
vendredi 13 mars 2009
Statut
Membre
Dernière intervention
14 mai 2009
-
Bonsoir,

J'aimerais bien que quelqu'un m'aide pour reussir a concatener un caractere avec une chaine de caractere, c-a-d :

exemple:
bonjou+r ==> bonjour

Merci d'avance
Bonne soirée

2 réponses

Messages postés
51
Date d'inscription
lundi 17 janvier 2005
Statut
Membre
Dernière intervention
13 mars 2011
1
Y'a  plein de façons et ca dépend de ta chaine de caractère au départ, et de ce que tu veux faire de ton resultat
le plus simple :

char* ma_chaine=calloc(1,42);
strcpy(ma_chaine,"bonjou");

/*1ere version*/
size_t taille=strlen(ma_chaine);
char c='r';
ma_chaine[taille]=c;
ma_chaine[taille+1]='\0';

/*seconde version, utilise strcat*/
char a_concatener[2];
a_concatener[0]=c;
a_concatener[1]='\0';

strcat(ma_chaine, a_concatener);

/*troisieme version, avec sprintf*/
char* ma_nouvelle_chaine=(char*)calloc(1,42);
sprintf(ma_nouvelle_chaine,"%s%c",ma_chaine,c);

le probleme de ces codes ultra simple, c'est le possible buffer overflow et tous les problemes de memoires qui sont lies. Y'a des solutions pour chaque bout de code, mais je detaillerais pas ici.
A mon sens la 1ere est la plus perfomante, si y'en a qui pense le contraire, je serais curieux d'entrendre vos arguments
Messages postés
3
Date d'inscription
vendredi 13 mars 2009
Statut
Membre
Dernière intervention
14 mai 2009

Bonsoir beg0!!!

merci pour votre aide ca ma était tres utile!!

Bonne soirée