Udostępnij przez


Indeksy bajtowe

Skorzystaj z następujących wskazówek:

  • Praca z indeksem bajtowym w ciągu przedstawia problemy podobne do tych stwarzanych przez manipulowanie wskaźnikiem. Rozważmy ten przykład, który skanuje ciąg pod kątem znaku ukośnika odwrotnego:

    while ( rgch[ i ] != '\\' )
        i++;
    

    Może to spowodować indeksowanie bajtu końcowego, a nie bajtu ołowiu, co może nie wskazywać elementu character.

  • Użyj funkcji _mbclen, aby rozwiązać powyższy problem:

    while ( rgch[ i ] != '\\' )
        i += _mbclen ( rgch + i );
    

    Spowoduje to poprawne indeksowanie do bajtu ołowiu, stąd do .character Funkcja _mbclen określa rozmiar znaku (1 lub 2 bajty).

Zobacz też

Porady dotyczące programowania MBCS
Ostatni znak w ciągu