Concatenation de chaines en c++

Fermé
juni Messages postés 78 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 16 février 2006 - 5 janv. 2004 à 14:01
Gorgo13 Messages postés 12 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 15 novembre 2009 - 15 oct. 2007 à 14:18
Salut

je cherche à faire ce squi est marqué dans le tire du message.
La réponse est surement déjà sur le forum, mais le moteur de recherche est HS au moment où j'ecris.

Donc si une âme généreuse voulait bien me répondre ça serait sympa
A voir également:

6 réponses

Bonjour,
Pour concaténer deux objets de types String en, C++, tu peuxutiliser l'opérateur + qui est surdéfini ;).
Sinon en C, tu as :
char* strcat(char* str1, char* str2);
A+
9
salut juni !

tu peux essayer ça:
strcat(chaine1,chaine2);

je ne suis pas sur que ça marche: j'ai utilisé cette fonction dans un prog en c sous unix
1
Gorgo13 Messages postés 12 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 15 novembre 2009 23
15 oct. 2007 à 14:18
#include <srtring.h>

void main()
{
char string1[64] = {"Hello. "};
char string2[64] = {"C'est moi. "};

strcat(string1,string2);

printf("%s\n",string1);
}

Au passage, "strcmp" compare deux chaine, mais ne les concatene pas.
1
juni Messages postés 78 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 16 février 2006 22
5 janv. 2004 à 14:51
merci du coup de main mais apparemment ça marche pas

j'ai essayé d'afficher directement deux chaines concaténees ou de d'abord les insere dans une variable, et dans les deux cas ça plante.

Je travaille sous win XP mais je pense pas que ça ait un rapport.

La llibrairie où se trouve cette fonction, c'est bien string.h ??
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
juni Messages postés 78 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 16 février 2006 22
5 janv. 2004 à 15:10
C'est bon j'ai trouvé un moyen simple de le faire en c++ (et peut-être aussi en C)

pour concatener 2 chaines a et b :

#include <string.h>

strcmp(a+strlen(a),b);

a+strlen(a) place le pointeur au caractère de fin de chaine de a, et insere b à cet endroit.
il faut juste faire attention à ce que a contienne suffisamment de caractère vide pour inserer b.
0
j'ai vu ça quelque part sur ce forum :

#include <string.h> // pour strcat
#include <stdlib.h> // pour realloc

// dans le cas où s1 est un pointeur, il faut le redimensionner

s1 = realloc(s1,strlen(s1)+strlen(s2)+1);
strcat(s1,s2);



sinon tu peux utiliser ta méthode et faire un realloc pour qu'il n'y ait plus de pb.
0