Udostępnij przez


Inkrementacja i dekrementacja wskaźników

Skorzystaj z następujących wskazówek:

  • Wskaż bajty ołowiu, a nie bajty końcowe. Zwykle niebezpieczne jest, aby wskaźnik do bajtu końcowego. Zwykle bezpieczniejsze jest skanowanie ciągu do przodu, a nie odwrotnie.

  • Dostępne są funkcje inkrementacji/dekrementacji wskaźnika i makr, które przenoszą się na cały znak:

    sz1++;
    

    Staje się:

    sz1 = _mbsinc( sz1 );
    

    Funkcje _mbsinc i _mbsdec są prawidłowo zwiększane i dekrementacyjne w character jednostkach, niezależnie od rozmiaru znaku.

  • W przypadku dekrementów potrzebny jest wskaźnik do nagłówka ciągu, jak pokazano poniżej:

    sz2--;
    

    Staje się:

    sz2 = _mbsdec( sz2Head, sz2 );
    

    Alternatywnie wskaźnik głowy może być prawidłowym znakiem w ciągu, takim jak:

    sz2Head < sz2
    

    Musisz mieć wskaźnik do znanego prawidłowego bajtu potencjalnego klienta.

  • Możesz chcieć zachować wskaźnik do poprzedniego znaku, aby szybciej wywołać metodę _mbsdec.

Zobacz też

Porady dotyczące programowania MBCS
Indeksy bajtowe