Condividi tramite


Incremento e decremento dei puntatori

Usare i suggerimenti seguenti:

  • Puntare ai byte lead, non ai byte finali. In genere non è sicuro avere un puntatore a un byte finale. In genere è più sicuro eseguire la scansione di una stringa in avanti anziché inversa.

  • Sono disponibili funzioni di incremento/decremento del puntatore e macro che si spostano su un intero carattere:

    sz1++;
    

    diventa:

    sz1 = _mbsinc( sz1 );
    

    Le _mbsinc funzioni e _mbsdec incrementino e decremento correttamente in character unità, indipendentemente dalla dimensione del carattere.

  • Per i decrementi, è necessario un puntatore alla testa della stringa, come illustrato di seguito:

    sz2--;
    

    diventa:

    sz2 = _mbsdec( sz2Head, sz2 );
    

    In alternativa, il puntatore head potrebbe essere un carattere valido nella stringa, in modo che:

    sz2Head < sz2
    

    È necessario disporre di un puntatore a un byte di lead valido noto.

  • È possibile mantenere un puntatore al carattere precedente per chiamate più veloci a _mbsdec.

Vedi anche

Suggerimenti sulla programmazione MBCS
Indici di byte