Bajt indexy
Postupujte následovně:
Práce s byjtově orientovaným indexem v řetězci představuje problémy, ty jsou podobné manipulaci s ukazatelem. Vezměme si tento příklad, který prohledává řetězce po znak zpětného lomítka:
while ( rgch[ i ] != '\\' ) i++;
To může být index druhého bajtu, nikoli vedoucího bajtu, a to by nemuselo poukazovat na character.
Použijte funkci _mbclen k řešení předchozího problému:
while ( rgch[ i ] != '\\' ) i += _mbclen ( rgch + i );
Ta správně indexuje vedoucí bajt, tedy na character. Tato funkce _mbclen určuje velikost znaku (1 nebo 2 bajty).