Delen via


Standaard C-functies

De standaard C-runtimebibliotheken bevatten zowel Unicode UTF-16-versies van tekenreeksfuncties die kunnen worden gebruikt met Unicode- en bytegeoriënteerde versies van tekenreeksfuncties die kunnen worden gebruikt met tekens uit tekensets met één byte (SBCSs). Het Unicode-gegevenstype WCHAR is compatibel met het gegevenstype wchar_t in ANSI C en biedt toegang tot de Unicode-tekenreeksfuncties. De Unicode-versies van de functies beginnen met de letters 'wcs' (of soms '_wcs'). Het gegevenstype CHAR dat wordt gebruikt voor codepagina's is compatibel met het tekengegevenstype char in ANSI C, om toegang tot de tekenreeksfuncties toe te staan. De tekenversies van de functies beginnen met de letters 'str'. Er zijn ook speciale versies voor dubbel-bytetekensets (DBCSs) die beginnen met de letters '_mbs'.

De standaard-C-runtimebibliotheken bevatten algemene functies voor alle standaard-C-tekenreeksfuncties. Ze beginnen met '_tcs' en worden vermeld in het Tchar.h-headerbestand. Deze functies gebruiken het algemene TCHAR-gegevenstype.

Een toepassing moet de volgende regels toevoegen om de algemene functies te kunnen gebruiken en te compileren voor Unicode.

#define _UNICODE

#include <tchar.h>
#include <wchar.h>

Houd er rekening mee dat zowel de bestanden Tchar.h als Wchar.h vereist zijn en dat het voorlooponderstrepingsteken op de variabele _UNICODE ook vereist is. Deze nomenclatuur is specifiek voor de standaard-C-bibliotheek. Unicode weergegeven zonder het onderstrepingsteken is voor de Microsoft Windows-runtimes.

De wcstombs en mb storagecs functies kunnen worden geconverteerd van de tekenset die wordt ondersteund door de standaard-C-bibliotheek naar Unicode en terug, met enkele beperkingen. Zie Translation Between String Typesvoor meer informatie over het vertalen van tekenreeksen naar en van Unicode.

De printf functie die is gedefinieerd in Tchar.h ondersteunt dezelfde indelingsspecificaties als de printfuncties Strsafe.h, bijvoorbeeld StringCbPrintf-. Op dezelfde manier definieert Tchar.h een wprintf-functie, waarin de notatietekenreeks zelf een Unicode-tekenreeks is.

Voorzichtigheid

Slechte bufferafhandeling wordt in veel beveiligingsproblemen betrokken die betrekking hebben op bufferoverschrijdingen. Zie Strsafe.h Reference. De functies die in Strsafe.h zijn gedefinieerd, bieden extra verwerking voor de juiste bufferafhandeling in uw code. Ze zijn bedoeld om hun ingebouwde C/C++-tegenhangers en specifieke Microsoft Windows-implementaties te vervangen. Zie Beveiligingsoverwegingen: Internationale functiesvoor meer informatie.

 

Unicode in de Windows-API