En C, les chaînes sont juste des tableaux de char. Si vous ne pouvez pas ajouter directement.
Voici un exemple de cplusplus.com:
char str[80];
strcpy (str,"these ");
strcat (str,"strings ");
strcat (str,"are ");
strcat (str,"concatenated.");
Donc dans votre exemple, vous souhaitez:
char *foo = "foo";
char *bar = "bar";
char str[80];
strcpy (str, "TEXT ");
strcat (str, foo);
strcat (str, bar);
La valeur de retour de strcat peuvent être ignorés, il renvoie le pointeur de même qu'a été adoptée dans le premier argument. Vous n'avez pas besoin de cette valeur. La valeur de retour est tout simplement pour des raisons de commodité, il vous permet de chaîner les appels en une seule ligne de code.
Pour le premier paramètre, vous devez avoir le tampon de destination lui-même. Le tampon de destination doit être un char tableau tampon. Exemple char buffer[1024];
Soyez très prudent que le premier paramètre a assez d'espace pour ce que vous essayez de le copier dans. S'il est disponible pour vous, il est plus sûr d'utiliser des fonctions comme: strcpy_s et strcat_s explicitement spécifier la taille de la mémoire tampon de destination.
Vous ne pouvez jamais utiliser un littéral de chaîne comme un tampon, vous devez toujours utiliser votre propre tampon.