Comment insérer une chaîne dans une autre chaîne en C

Je dois insérer une chaîne dans une autre chaîne à un endroit spécifique. Voici un exemple simple:

char *a = "Dany S."; char *b = "My name is *a , I come from ... "; 

Donc, dans la chaîne b à la place de *a je pense avoir Dany S.

Comment faire ça ?

Le moyen le plus simple et le plus simple consiste à utiliser les conventions C standard:

 char *a = "Dany S."; char *b = "My name is %s, I come from..."; char *c = malloc(strlen(a) + strlen(b)); sprintf( c, b, a ); 

Puis c contient votre nouvelle chaîne. Lorsque vous avez terminé avec c , vous devrez libérer la mémoire:

 free( c ); 

Si vous voulez utiliser c dans une sortie qui termine la ligne, vous pouvez déclarer b comme:

 char *b = "My name is %s, I come from...\n"; 

Vous pouvez utiliser printf ie:

 #include  char *a = "Dany S."; char *b = "My name is %s , I come from ... "; printf(b, a);