| title | Byte Indices | Microsoft Docs | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ms.custom | ||||||||||||||
| ms.date | 11/04/2016 | |||||||||||||
| ms.reviewer | ||||||||||||||
| ms.suite | ||||||||||||||
| ms.technology |
|
|||||||||||||
| ms.tgt_pltfrm | ||||||||||||||
| ms.topic | article | |||||||||||||
| dev_langs |
|
|||||||||||||
| helpviewer_keywords |
|
|||||||||||||
| ms.assetid | f6e7774a-86c6-41c2-89e3-74fd46432e47 | |||||||||||||
| caps.latest.revision | 7 | |||||||||||||
| author | ghogen | |||||||||||||
| ms.author | ghogen | |||||||||||||
| manager | ghogen | |||||||||||||
| translation.priority.ht |
|
Use the following tips:
-
Working with a bytewise index into a string presents problems similar to those posed by pointer manipulation. Consider this example, which scans a string for a backslash character:
while ( rgch[ i ] != '\\' ) i++;This might index a trail byte, not a lead byte, and thus it might not point to a
character. -
Use the _mbclen function to solve the preceding problem:
while ( rgch[ i ] != '\\' ) i += _mbclen ( rgch + i );This correctly indexes to a lead byte, hence to a
character. The_mbclenfunction determines the size of a character (1 or 2 bytes).