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.
De tekenreeksfuncties bieden toepassingen de middelen voor het kopiëren, vergelijken, sorteren, opmaken en converteren van tekenreeksen, evenals de middelen om het tekentype van elk teken in een tekenreeks te bepalen. Alle tekenreeksfuncties ondersteunen de één-byte, dubbelbyte en Unicode tekensets als deze tekensets worden ondersteund door het besturingssysteem waarop de toepassing draait.
Beveiligingswaarschuwing: Het onjuiste gebruik van tekenreeksfuncties kan beveiligingsproblemen voor uw toepassing veroorzaken. Dit omvat meestal een bufferoverschrijding die een Denial of Service-aanval kan toestaan tegen uw toepassing of de injectie van uitvoerbare code van een aanvaller. De Strsafe-functies maken de veiligere verwerking van tekenreeksen mogelijk en worden aanbevolen voor betere beveiliging voor uw toepassing. Voor meer informatie over deze functies, zie De strsafe.h-functies gebruiken.
In deze sectie worden de volgende onderwerpen besproken.
Vergelijking met C Run-Time Tekenreeksfuncties
Veel tekenreeksfuncties dupliceren of verbeteren vertrouwde tekenreeksfuncties uit de standaard C-runtimebibliotheek (CRT). Veel van de verbeteringen stellen de tekenreeksfuncties in staat om te werken met Unicode- of uitgebreide tekensets. In de volgende tabel ziet u de CRT-functies, de Windows-functies (die Unicode ondersteunen, in tegenstelling tot de CRT-functies) en de StrSafe-functies.
| CRT-tekenreeksfunctie | Windows-stringfunctie | StrSafe Functie |
|---|---|---|
| strcat | lstrcat | |
| strcmp | lstrcmp | (geen equivalente functie) |
| strcpy | lstrcpy | |
| strlen | lstrlen |
De functie strlen, bijvoorbeeld, retourneert altijd het aantal bytes in een tekenreeks, maar de functie lstrlen retourneert het aantal TCHAR--waarden, dat bytes verwijst naar ANSI-versies van de functie of WCHAR-waarden voor Unicode-versies.
De volgende tekenreeksfuncties verschillen van standaard C-functies, zoals tolower en toupper in dat ze op elk teken in een tekenset werken. Met behulp van de functie CharLower, kan een toepassing bijvoorbeeld een hoofdletter U met een umlaut (Ü) converteren naar kleine letters (ü). Zie Tekensets met één bytevoor meer informatie over tekensets.
| Functie | Beschrijving |
|---|---|
| CharLower | Converteert een teken of tekenreeks naar kleine letters. |
| CharLowerBuff | Converteert een tekenreeks naar kleine letters. |
| CharNext | Hiermee gaat u naar het volgende teken in een tekenreeks. |
| CharPrev | Hiermee gaat u naar het voorgaande teken in een tekenreeks. |
| CharUpper | Converteert een teken of tekenreeks naar hoofdletters. |
| CharUpperBuff | Converteert een tekenreeks naar hoofdletters. |
De volgende tekenreeksfuncties bepalen een teken op basis van de semantiek van de taal die door de gebruiker is geselecteerd. Deze functies zijn Unicode ingeschakeld.
| Functie | Beschrijving |
|---|---|
| IsCharAlpha | Bepaalt of een teken alfabetisch is. |
| IsCharAlphaNumeric | Bepaalt of een teken alfanumeriek is. |
| IsCharLower | Bepaalt of een teken kleine letter is. |
| IsCharUpper | Bepaalt of een teken hoofdletters bevat. |
In de volgende tabel ziet u de Unicode-extensies voor de standaard C-runtimefuncties (CRT). Zoals eerder vermeld, maken de StrSafe-functies veiligere verwerking van tekenreeksen mogelijk en worden aanbevolen voor betere beveiliging voor uw toepassing.
| Standaard CRT-functie | Tekenreeksfunctie | StrSafe-functie |
|---|---|---|
| sprintf | wsprintf | |
| vsprintf | wvsprintf |
Tekstbronnen
Een toepassing die tekenreeksen in resources onderhoudt, kan met minimale inspanning worden vertaald in nieuwe talen. In plaats van te zoeken naar tekenreeksen in de bronmodules, kunt u de tekenreeksen gewoon vertalen in het resourcebestand en de toepassing opnieuw koppelen. Bovendien vereenvoudigt het gebruik van tekenreeksbronnen het maken van Unicode- en niet-Unicode-versies van de toepassing uit dezelfde bronbestanden.
De functie LoadString laadt een tekenreeksresource uit het uitvoerbare bestand van een toepassing. De functie FormatMessage laadt een tekenreeksresource en interpreteert opmaakopties die mogelijk zijn ingesloten in de tekenreeks.
Resources in de vorm van binaire gegevens worden opgeslagen in Unicode-formaat. Bij het laden van resources kunnen toepassingen bijvoorbeeld de Unicode-versie van de resourcefuncties (LoadStringW) gebruiken om resources te verkrijgen als Unicode-gegevens.
Voor 16-bits tekenreeksbronnen is 255 tekens de maximale lengte. Voor 32-bits tekenreeksbronnen is 65535 tekens de maximale lengte.