Compartir vía


Aumentar y disminuir punteros

Siga estas sugerencias:

  • Apunte a bytes de inicio, no a bytes finales. Normalmente no es seguro tener un puntero a un byte final. Normalmente es más seguro examinar una cadena hacia delante que al revés.

  • Hay funciones de aumento/disminución de punteros y macros disponibles que se mueven por un carácter completo:

    sz1++;
    

    se convierte en:

    sz1 = _mbsinc( sz1 );
    

    Las funciones _mbsinc y _mbsdec aumentan y disminuyen correctamente en unidades de character, independientemente del tamaño del carácter.

  • Para las disminuciones, se necesita un puntero al encabezado de la cadena, tal como se muestra a continuación:

    sz2--;
    

    se convierte en:

    sz2 = _mbsdec( sz2Head, sz2 );
    

    Como alternativa, el puntero principal podría ser un carácter válido en la cadena, de modo que:

    sz2Head < sz2
    

    Debe tener un puntero a un byte de inicio válido conocido.

  • Es posible que quiera mantener un puntero al carácter anterior para realizar llamadas más rápidas a _mbsdec.

Consulte también

Sugerencias de programación para MBCS
Índices de byte