Поделиться через


Увеличение и уменьшение значений указателей

Используйте следующие советы:

  • Наведите указатель на байты свинца, а не байты на конечную точку. Обычно небезопасно иметь указатель на байт тропы. Обычно это безопаснее для сканирования строки вперед, а не обратно.

  • Существуют функции увеличения и уменьшения указателя, доступные для перемещения по всему символу:

    sz1++;
    

    Становится:

    sz1 = _mbsinc( sz1 );
    

    _mbsdec И _mbsinc функция правильно увеличивается и уменьшается в character единицах независимо от размера символа.

  • Для уменьшений необходимо указатель на голову строки, как показано в следующем:

    sz2--;
    

    Становится:

    sz2 = _mbsdec( sz2Head, sz2 );
    

    Кроме того, указатель на голову может быть допустимым символом в строке, таким образом:

    sz2Head < sz2
    

    У вас должен быть указатель на известный допустимый байт свинца.

  • Возможно, вам потребуется сохранить указатель на предыдущий символ для ускорения вызовов _mbsdec.

См. также

Советы по программированию многобайтовой кодировки
Индексы байтов