Incrementing e decrementar ponteiros

Use as seguintes dicas:

  • Aponte para levar os bytes, não rastros bytes. Não é geralmente é seguro ter um ponteiro para um byte de seguimento. É geralmente mais seguro examinar uma seqüência de caracteres para frente, em vez de na ordem inversa.

  • Há ponteiro incrementar/diminuir a funções e macros disponíveis que movem sobre um caractere inteiro:

    sz1++;
    

    se torna:

    sz1 = _mbsinc( sz1 );
    

    O _mbsinc e _mbsdec funções corretamente incrementam e decrementam em character unidades, independentemente do tamanho de caractere.

  • Diminui, é necessário um ponteiro para o chefe da seqüência de caracteres, da seguinte maneira:

    sz2--;
    

    se torna:

    sz2 = _mbsdec( sz2Head, sz2 );
    

    Como alternativa, o ponteiro de cabeçalho poderia ser um caractere válido na seqüência de caracteres, de modo que:

    sz2Head < sz2
    

    Você deve ter um ponteiro para um byte inicial de válidos conhecidos.

  • Talvez você queira manter um ponteiro para o caractere anterior para chamadas mais rápidos para _mbsdec.

Consulte também

Conceitos

Dicas de programação de MBCS

Índices de byte