Solution de l’exercice 3.8

Si l1 et l2 sont les longueurs des deux chaînes, il faut l1 +l2 +1 caractères (ne pas oublier le zéro final !). On obtient alors :

char *concat(char *s1, char*s2){      int l1 = strlen(s1);      char *s = (char*) malloc( l1 +strlen(s2) +1);      if (s) {                // allocation réussie             strcpy(s, s1);             strcpy(s +l1, s2);             }      return s;}

Un pointeur nul est renvoyé en cas d’échec.


Retour au texte.