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
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
A voir également:
- Concatener chaine de caractere c
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Caractères spéciaux : comment taper des |—[©\½→}… - Guide
- Chaine tnt gratuite sur mobile - Guide
- Plus de chaine tv - Guide
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+
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+
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
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
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
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.
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.
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
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 ??
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 ??
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
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.
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.
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.
#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.