Indici di byte
Attenersi ai suggerimenti indicati di seguito.
Quando si utilizza un indice di vettori di byte in una stringa, si verificano problemi simili a quelli derivanti dalla manipolazione mediante puntatore. Considerare l'esempio seguente, che analizza una stringa per individuare il carattere barra rovesciata:
while ( rgch[ i ] != '\\' ) i++;
È possibile che qui venga indicizzato un byte finale anziché uno iniziale e che perciò il puntatore non faccia riferimento a un character.
Utilizzare la funzione _mbclen per risolvere il problema descritto:
while ( rgch[ i ] != '\\' ) i += _mbclen ( rgch + i );
Questa stringa indicizza correttamente a un byte iniziale e, di conseguenza, punta a un oggetto character. La funzione _mbclen determina la dimensione di un carattere (uno o due byte).