Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Gebruik de volgende tips:
Volg bytebereiken overlappen de ASCII-tekenset in veel gevallen. U kunt bytewise scans veilig gebruiken voor controletekens (minder dan 32).
Houd rekening met de volgende regel code, die mogelijk controleert of het laatste teken in een tekenreeks een backslash-teken is:
if ( sz[ strlen( sz ) - 1 ] == '\\' ) // Is last character a '\'? // . . .Omdat
strlenniet MBCS-bewust is, retourneert het het aantal bytes, niet het aantal tekens, in een tekenreeks met meerdere bytes. Houd er ook rekening mee dat in sommige codepagina's (bijvoorbeeld 932) '\' (0x5c) een geldige trail-byte is (szeen C-tekenreeks).Een mogelijke oplossing is om de code op deze manier te herschrijven:
char *pLast; pLast = _mbsrchr( sz, '\\' ); // find last occurrence of '\' in sz if ( pLast && ( *_mbsinc( pLast ) == '\0' ) ) // . . .Deze code maakt gebruik van de MBCS-functies
_mbsrchren_mbsinc. Omdat deze functies MBCS-bewust zijn, kunnen ze onderscheid maken tussen een '\'-teken en een trail-byte '\'. De code voert een bepaalde actie uit als het laatste teken in de tekenreeks een null(\0) is.