Concatener deux chaines de caracteres en C

[Résolu/Fermé]
Signaler
Messages postés
11
Date d'inscription
mardi 25 mars 2008
Statut
Membre
Dernière intervention
16 mai 2008
-
Messages postés
419
Date d'inscription
vendredi 28 mars 2014
Statut
Membre
Dernière intervention
25 décembre 2019
-
Bonjour,
Je souhaite ajouter des lettres a une chaine de caracteres.

Comment faire? Merci :)

4 réponses

Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 552
lami20j@debian:~$ cat concatener.c
#include<stdio.h>
#include<string.h>

int main()
{
  char nom[20];
  strcat(nom,"EST4");
  strcat(nom," ");
  strcat(nom,"Ever");
  printf("%s\n",nom);
  return 0;
}
lami20j@debian:~$ gcc concatener.c
lami20j@debian:~$ ./a.out
EST4 Ever
lami20j@debian:~$

46
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
11
Date d'inscription
mardi 25 mars 2008
Statut
Membre
Dernière intervention
16 mai 2008

merciiiiiiiiiiiiiiiiiiiiii :)
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 552
Salut,

il faut utiliser la fonction strcat
Messages postés
11
Date d'inscription
mardi 25 mars 2008
Statut
Membre
Dernière intervention
16 mai 2008

Je pense que c ca.
Mai j'arrive pas a trouver la syntaxe :

char * chaine = "re";
strcat(chaine,"salut");


est ce que ca donne "resalut "??????????!!!!!!!!!!!!!!!
Bonsoir!
la même question m'etait posé mais on concatène deux mots u et v dans un 3eme mot w via une fonction void concat mais sans avoir utiliser la bibliothèque String.
Avez vous une idée à quoi cela va ressembler?
Messages postés
5583
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
9 juillet 2021
942
Salut UniCode,

C'est mieux de faire un nouveau fil, plutôt que de te greffer sur un sujet résolu depuis près de 2 ans.

Pour ta question, que penses tu de faire en copiant les caractères composant les deux chaînes à la suite dans la variable de destination, sans oublier de terminer la chaîne ?

Cela nécessite juste de comprendre comment sont faites les chaînes en C (le but de la "question" qui t'es posée doit être de montrer ta compréhension de cela :-) ).

https://www.commentcamarche.net/contents/118-langage-c-les-chaines-de-caracteres

en passant, tu pourrais aussi avoir besoin de vérifier la taille des chaînes, et la taille allouée aux variables, savoir gérer correctement l'allocation de mémoire, passer des tableaux à une fonction et travailler dessus,...

Si tu as des questions additionnelles, travaille avant ton code, et poste un nouveau sujet avec le code problématique en nous disant là où tu bloques.


Dal
Messages postés
419
Date d'inscription
vendredi 28 mars 2014
Statut
Membre
Dernière intervention
25 décembre 2019
28 >
Messages postés
5583
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
9 juillet 2021

HEEY "DAL" tu es partout ;-)
Bonsoir Dal
ma question en ses détails est un peu plus loin de la simplicité du lien que tu m'as donnée
Je te remercie en tout cas.
Messages postés
5583
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
9 juillet 2021
942
Lis bien ce que j'ai écrit, les idées que tu cherches y sont toutes. Quant au lien, son seul et unique but est de te rappeler qu'une chaîne en C est un tableau de chars terminé par le caractère \0.

S'agissant de la supposée complexité de ton problème, à moins que j'ai raté un truc, je ne la vois pas. Tu as tous les éléments de réponse.

Dal