Rechercher : dans
Par :

Concatenation de chaines en c++

Dernière réponse le 15 oct 2007 à 14:18:48 juni, le 5 jan 2004 à 14:01:18 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « concatenation de chaines en c++ » dans :
Javascript - Concaténation de chaînes de caractères VoirLe terme "concaténer" signifie joindre deux chaînes bout à bout pour n'en former qu'une seule. Dans la plupart des langages tels que PHP, la concaténation se fait avec le caractère ".". En javascript, il suffit d'utiliser le caractère plus (+) ou...
Langage C - Les listes chaînées VoirLa notion de structure autoréferrentielle Une structure autoréferrentielle (parfois appelée structure récursive) correspond à une structure dont au moins un des champs contient un pointeur vers une structure de même type. De cette façon on crée...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...

1

psyco81, le 5 jan 2004 à 14:34:21

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

Répondre à psyco81

2

juni, le 5 jan 2004 à 14:51:38

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 ??

Répondre à juni

3

juni, le 5 jan 2004 à 15:10:23

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.

Répondre à juni

4

psyco81, le 6 jan 2004 à 13:49:02

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.

Répondre à psyco81

5

Shugo, le 15 oct 2007 à 11:32:54
  • +1

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+

Répondre à Shugo

6

 Gorgo13, le 15 oct 2007 à 14:18:48
  • +1

#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.

Répondre à Gorgo13