caps lock a écrit :
Ok merci pour l'explication, dans mon exemple la chaine est constitué d'un mot et donc le code a pour vocation de supprimer le '\n'
Merci!
|
Alors ce code est bien bancal. Parce qu'en fait il vire le dernier caractère même si celui-ci n'est pas un '\n'..
Code :
- char *pt;
- if ((pt=strrchr(chaine, '\n')) != NULL) *pt='\0';
|
strrchr() recherche un caractère particulier dans une chaine en partant de la fin. S'il le trouve, il renvoie l'adresse de l'octet contenant ce caractère. Sinon il renvoie NULL.
Donc ici si l'adresse renvoyée n'est pas NULL, c'est que le '\n' se trouve à cette adresse. Et à cet endroit précis j'y mets un '\0' pour fermer la chaine...
---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.