Fussionner deux variables...

Messages postés
192
Date d'inscription
mercredi 26 décembre 2001
Statut
Membre
Dernière intervention
31 janvier 2007
- - Dernière réponse : cs_Kaid
Messages postés
950
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006
- 17 juil. 2003 à 19:14
Question stupide je c mais comment on fait pour fussionner 2 variable de texte ou ajouter quelque chose a la fin de celle ci .

ca fait une heure que je cherche et je trouve pas ..
merci...
Afficher la suite 

17 réponses

Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
2
0
Merci
salut,
la fonction strcat(char * chaine1, char * chaine2) copie la chaine2 a la fin de la chaine1.

Bien evidement, il faut que les 2 chaines soit terminées par un caractere '\0' (NULL).
Commenter la réponse de cs_aardman
Messages postés
192
Date d'inscription
mercredi 26 décembre 2001
Statut
Membre
Dernière intervention
31 janvier 2007
0
Merci
ok ..... mais ya pas une otre methode ... en vb on fesais

resultat = unevar&lotrevar&"du texte si on veux"
Commenter la réponse de cs_Arkko
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
2
0
Merci
Salut,
Si tu as que 2 chaines, strcat est parfait.
Tu as aussi sprintf qui fonctionne comme printf, faut que la 1er argument est un char * qui contient ta chaine de caractere finale. L'avantage de sprintf c'est que tu peux mettre du texte perso, des chaines de carateres, des entiers, en 1 seule ligne.
Commenter la réponse de cs_aardman
Messages postés
950
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006
0
Merci
Tu peux utiliser l'opérateur + mais seulement si tes chaines de caractères sont des objets (style std::string) et non des tableaux de caractères. En C++ seulement évidemment ...

Kaid - kaid.fr.st
Commenter la réponse de cs_Kaid
Messages postés
192
Date d'inscription
mercredi 26 décembre 2001
Statut
Membre
Dernière intervention
31 janvier 2007
0
Merci
Ok merci ...
@+ Arkko
Commenter la réponse de cs_Arkko
Messages postés
192
Date d'inscription
mercredi 26 décembre 2001
Statut
Membre
Dernière intervention
31 janvier 2007
0
Merci
j'essai de faire un strcat mais il me fait un access violation a chaque fois !!!
Commenter la réponse de cs_Arkko
Messages postés
950
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006
0
Merci
Enfin il faut qu'il y a de la place dans la chaine de destination.

char[] strUn="Test 1";
char[] strDeux="Test 2";

// Ce que tu fais certainement, ce qui est faux:
strcat(strUn, strDeux);

// Ce qu'il faut faire:
char[] strFinale=new char [strlen(strUn) + strlen(strDeux) + 1];
strcpy(strFinale, strUn);
strcat(strFinale, strDeux);


Kaid - kaid.fr.st
Commenter la réponse de cs_Kaid
Messages postés
192
Date d'inscription
mercredi 26 décembre 2001
Statut
Membre
Dernière intervention
31 janvier 2007
0
Merci
moi je faisait ...

CHAR* texte = "Yo les jeunes";
strcat(texte,"\n");
Commenter la réponse de cs_Arkko
Messages postés
950
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006
0
Merci
Ca fait un caractère de trop pour le buffer, ca explose logiquement.

Kaid - kaid.fr.st
Commenter la réponse de cs_Kaid
Messages postés
192
Date d'inscription
mercredi 26 décembre 2001
Statut
Membre
Dernière intervention
31 janvier 2007
0
Merci
Lol merci . ..!!!! il faudrais un string comme vb :)
Commenter la réponse de cs_Arkko
Messages postés
950
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006
0
Merci
Mets toi au C++ alors, c'est possible avec les objets.

Kaid - kaid.fr.st
Commenter la réponse de cs_Kaid
Messages postés
192
Date d'inscription
mercredi 26 décembre 2001
Statut
Membre
Dernière intervention
31 janvier 2007
0
Merci
lol je croyais que je fais du cpp lol ..
peux tu m'expliquer cmt faire ... lol je c je suis fatiquant mais je debute lol !
Commenter la réponse de cs_Arkko
Messages postés
950
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006
0
Merci
Si tu ne maitrises pas encore les chaines en c, c'est peut-être sauter les étapes, mais bon.

#include 
#include <string>

void testString()
{
std::string strTest="test 1":
std::string strConcat=strTest + "test 2";

cout << strConcat.c_str();
}



Kaid - kaid.fr.st
Commenter la réponse de cs_Kaid
Messages postés
192
Date d'inscription
mercredi 26 décembre 2001
Statut
Membre
Dernière intervention
31 janvier 2007
0
Merci
MERCI TOUT FONCTIONNE lol ...
Commenter la réponse de cs_Arkko
Messages postés
258
Date d'inscription
jeudi 20 mars 2003
Statut
Membre
Dernière intervention
16 août 2004
0
Merci
Cependant, je te conseille de bien comprendre Le fonctionnement et la manipulation des chaines de caracteres c (tableau de char) plutot que les string(mm si bcp plus simple).
Bye,Xentor609
Commenter la réponse de cs_Xentor609
Messages postés
192
Date d'inscription
mercredi 26 décembre 2001
Statut
Membre
Dernière intervention
31 janvier 2007
0
Merci
Ok mais avec un new char[ ...] j'imagine qui faut faire delete quand on a pu besoin de la chaine fussionner ?
Commenter la réponse de cs_Arkko
Messages postés
950
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006
0
Merci
Oui.

Kaid - kaid.fr.st
Commenter la réponse de cs_Kaid