Incremento e decremento dei puntatori
Usare i suggerimenti seguenti:
Puntare ai byte lead, non ai byte finali. In genere non è sicuro avere un puntatore a un byte finale. In genere è più sicuro eseguire la scansione di una stringa in avanti anziché inversa.
Sono disponibili funzioni di incremento/decremento del puntatore e macro che si spostano su un intero carattere:
sz1++;
diventa:
sz1 = _mbsinc( sz1 );
Le
_mbsinc
funzioni e_mbsdec
incrementino e decremento correttamente incharacter
unità, indipendentemente dalla dimensione del carattere.Per i decrementi, è necessario un puntatore alla testa della stringa, come illustrato di seguito:
sz2--;
diventa:
sz2 = _mbsdec( sz2Head, sz2 );
In alternativa, il puntatore head potrebbe essere un carattere valido nella stringa, in modo che:
sz2Head < sz2
È necessario disporre di un puntatore a un byte di lead valido noto.
È possibile mantenere un puntatore al carattere precedente per chiamate più veloci a
_mbsdec
.