Freigeben über


Inkrementieren und Dekrementieren von Zeigern

Beachten Sie folgende Tipps:

  • Verweisen Sie auf führende Bytes, nicht auf nachfolgende Bytes. Zeiger auf nachfolgende Bytes sind in der Regel unsicher. Meist ist es sicherer, eine Zeichenfolge vorwärts und nicht rückwärts zu scannen.

  • Es stehen Funktionen und Makros zum Inkrementieren und Dekrementieren von Zeigern zur Verfügung, die sich um ein ganzes Zeichen weiter bewegen:

    sz1++;
    

    wird zu:

    sz1 = _mbsinc( sz1 );
    

    Die _mbsinc-Funktion und die _mbsdec-Funktion inkrementieren und dekrementieren vorschriftsmäßig in character-Einheiten, unabhängig von der Zeichengröße.

  • Zum Dekrementieren benötigen Sie einen Zeiger, der auf den Anfang der Zeichenfolge verweist, wie im folgenden Beispiel:

    sz2--;
    

    wird zu:

    sz2 = _mbsdec( sz2Head, sz2 );
    

    Wahlweise kann der Anfangszeiger auch auf ein gültiges Zeichen innerhalb der Zeichenfolge verweisen, z. B.

    sz2Head < sz2
    

    Sie müssen über einen Zeiger verfügen, der auf ein bekanntes und gültiges führendes Byte verweist.

  • Es empfiehlt sich, einen Zeiger auf das vorherige Zeichen zu verwalten, um _mbsdec-Aufrufe zu beschleunigen.

Siehe auch

Konzepte

Tipps für die MBCS-Programmierung

Byte-Indizes