Índices de byte
Utilice las sugerencias siguientes:
El trabajo con un índice byte a byte en una cadena presenta problemas similares a los de la manipulación de punteros. Observe este ejemplo, que examina una cadena con el carácter de barra inversa (\):
while ( rgch[ i ] != '\\' ) i++;
Esto puede dar lugar a la indización de un byte final, en lugar de un byte inicial, y, por consiguiente, puede que no apunte a un character.
Utilice la función _mbclen para resolver el problema anterior:
while ( rgch[ i ] != '\\' ) i += _mbclen ( rgch + i );
De este modo, se indizará de forma correcta a un byte inicial, y, por consiguiente, a un character. La función _mbclen determina el tamaño de un carácter (1 o 2 bytes).