Sdílet prostřednictvím


Inkrementace a dekrementace ukazatelů

Postupujte následovně:

  • Mějte ukazatel na úvodní bajt, ne na druhý bajt.Není obvykle bezpečné mít ukazatel na poslední bajt.Obvykle je bezpečnější skenovat řetězec zepředu než opačně.

  • Zde je ukazatel přírůstkové/úbytkové funkce a makra k dispozici, které se přesouvají přes celý znak:

    sz1++;
    

    se stane:

    sz1 = _mbsinc( sz1 );
    

    Funkce _mbsinc a _mbsdec správně zvýší a sníží v jednotkách character bez ohledu na velikost znaku.

  • Pro snižování je nutné mít ukazatel na začátek řetězce, jako v následujícím příkladu:

    sz2--;
    

    se stane:

    sz2 = _mbsdec( sz2Head, sz2 );
    

    Alternativně může být hlavní ukazatel platným znakem v řetězci:

    sz2Head < sz2
    

    Je nutné mít ukazatel na známý platný úvodní bajt.

  • Můžete chtít zachovat ukazatel na předchozí znak pro rychlejší volání _mbsdec.

Viz také

Koncepty

MBCS – tipy pro programování

Bajtové indexy