Voici comment reprogrammer certaines fonctions
qui gerent les chaines de caracteres.
Elles sont toutes deja faites dans <string.h>
Ici on reprogrammera les fonctions :
- strlen
- strcpy
Tout d'abord quelques petits rappels betes et mechants:
Soit <p> une chaine de caractere qui est "abc xyz"
p est un pointeur sur le premier caractere i.e. 'a'
p est egal a "abc xyz"
*p est egal a sur quoi pointe p i.e. 'a'
*(p+1) est egal a sur le caractere suivant i.e. 'b'
*(p+3) est egal a ' '
*(p+6) est egal a 'z'
*(p+6) est egal a 'z' --- caractere d'arret ---
*(p+8) est indetermine : *(p+8) = ???
Maintenant on execute l'instruction suivante :
p ++;
On a donc :
p est egal a "bc xyz"
*p est egal a sur quoi pointe p i.e. 'b'
*(p+1) est egal a sur le caractere suivant i.e. 'c'
*(p+2) est egal a ' '
*(p+5) est egal a 'z'
*(p+6) est egal a '\0' --- caractere d'arret ---
*(p+7) est indetermine : *(p+7) = ???
Maintenant on execute l'instruction suivante :
p += 6;
On a donc :
p est egal a "" --- chaine nulle ---
*p est egal a sur quoi pointe p i.e. '\0'
*(p+1) est indetermine : *(p+6) = ???
c'en est fini pour les petits rappels