
Envoyé par
PiXi-PiX
personellement pour le malloc je met toujours:
malloc(sizeof(*str) * (strlen(str + 1)))
comme cela je peux copier la nouvelle chaine et mettre un '\0' a la fin
Tel quel, il va te manquer 2 caractères !
Et tu peux retirer les parenthèses inutiles avec sizeof quand c'est objet.
Tu veux dans doute dire
malloc (sizeof *str * (strlen (str) + 1))
(je pense qu'on s'est tous fait piégés au moins une fois là-dessus...)
Voir plutôt strdup(). C'est pas standard C, mais POSIX.1, donc très portable...
Partager