Partilhar via


Incrementando e decrementando ponteiros

Use as dicas a seguir:

  • Ponto inicial para os bytes, não em bytes finais. Geralmente é unsafe ter um ponteiro para um byte final. Geralmente é mais seguro analisar uma cadeia de caracteres para frente em vez de em contrário.

  • Há um incremento do ponteiro/as funções e macros diminuição disponíveis para mover sobre um caractere inteiro:

    sz1++;
    

    se torna:

    sz1 = _mbsinc( sz1 );
    

    As funções de _mbsinc e de incremento _mbsdec corretamente e diminui em unidades de character , independentemente do tamanho de caractere.

  • Para reduzir, é necessário um ponteiro para o início da cadeia de caracteres, como a seguir:

    sz2--;
    

    se torna:

    sz2 = _mbsdec( sz2Head, sz2 );
    

    Como alternativa, o ponteiro principal poderá ser a um caractere válido na cadeia de caracteres, de modo que:

    sz2Head < sz2
    

    Você deve ter um ponteiro para um byte inicial válida conhecido.

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

Consulte também

Conceitos

Dicas de programação MBCS

Índices de byte