Bajtové indexy

Použijte následující tipy:

  • Práce s indexem po bajtech v řetězci přináší problémy podobné těm, které způsobuje manipulace s ukazateli. Podívejte se na tento příklad, který hledá znak zpětného lomítka v řetězci:

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

    To může indexovat koncový bajt, nikoli hlavní bajt, a proto nemusí odkazovat na character.

  • Pomocí funkce _mbclen vyřešte předchozí problém:

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

    Tím se správně indexuje hlavní bajt, tedy na character. Funkce _mbclen určuje velikost znaku (1 nebo 2 bajty).

Viz také

MBCS – tipy pro programování
Poslední znak v řetězci