kkny a écrit :
rectification :
j'aurais comme résultat : 10122010-/cahie-654
|
C'est normal.
En écrivant lp.ref [l1] = '-'; tu supprimes le '\0' de fin de chaine pour le remplacer par ce '-'.
Ensuite, quand tu fais strcat (lp.ref , lp.ch); le système cherche à aller au bout de lp.ref pour y ajouter lp.ch. Or, pour aller au bout, il cherche ce '\0' qui n'y est plus. Par chance (ou par malchance, ça dépend comment on le voit), il se trouve que 2 caractères après ce '-' il y a un '\0'. C'est pour ça que strcat() s'envoie pas en vrac dans la mémoire. Et donc la concaténation se fait mais un poil plus loin que ce prévu d'où ce caractère parasite...
Accessoirement, il n'y aurait pas ce '\0' hasardeux, le strcat() partait en torche et en memory fault ce qui t'aurait alors donné une bonne indication (d'où le chance/malchance)...
Message édité par Sve@r le 14-12-2010 à 00:04:26
---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.