Incrémentation et décrémentation de pointeurs
Utilisez les conseils suivants :
Pointez vers les octets de tête et non vers les octets de queue. Il n'est pas prudent de pointer vers un octet de queue. Il est plus sûr d'analyser une chaîne vers l'avant que vers l'arrière.
Il existe des fonctions et des macros d'incrémentation/décrémentation de pointeur disponibles pour se déplacer d'un caractère entier :
sz1++;
devient :
sz1 = _mbsinc( sz1 );
Les fonctions _mbsinc et _mbsdec incrémentent et décrémentent des unités character, quelle que soit la taille du caractère.
Pour les décréments, vous avez besoin d'un pointeur vers la tête de la chaîne, comme dans l'exemple suivant :
sz2--;
devient :
sz2 = _mbsdec( sz2Head, sz2 );
Votre pointeur de tête peut pointer vers un caractère valide dans la chaîne, par exemple
sz2Head < sz2
Vous devez disposer d'un pointeur vers un octet de tête valide connu.
Vous pouvez conserver un pointeur vers le caractère précédent pour des appels plus rapides à _mbsdec.