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


Индексы байтов

Рекомендации:

  • Работа с побайтовым индексом в строке может вызвать проблемы, аналогичные проблемам, которые возникают при манипуляциях указателем.Рассмотрим пример, в котором выполняется просмотр строки на наличие знаков обратной косой черты:

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

    Это может быть индексом младшего байта, а не старшего байта, и поэтому не может указывать на character.

  • Используйте функцию _mbclen, чтобы разрешить предыдущую проблему:

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

    Этот пример правильно индексирует первый байт, и поэтому и character.Функция _mbclen определяет размер знака (1 или 2 байта).

См. также

Основные понятия

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

Последний символ в строке