Índices de byte
Use as dicas a seguir:
Trabalhar com um índice bytewise em uma cadeia de caracteres apresenta problemas semelhantes aos colocados pela manipulação de ponteiro. Considere este exemplo, que verifica uma cadeia de caracteres em busca de um caractere de barra invertida:
while ( rgch[ i ] != '\\' ) i++;
Isso pode indexar um byte final, e não um byte inicial, podendo, portanto, não apontar para um
character
.Use a função _mbclen para resolver o problema anterior:
while ( rgch[ i ] != '\\' ) i += _mbclen ( rgch + i );
Isso indexa corretamente a um byte inicial e, portanto, para um
character
. A função_mbclen
determina o tamanho de um caractere (1 ou 2 bytes).
Confira também
Dicas de programação do MBCS
Último caractere em uma cadeia de caracteres