Fonctions C standard
Les bibliothèques runtime C standard contiennent à la fois des versions Unicode UTF-16 (caractères larges) des fonctions de chaîne qui peuvent être utilisées avec Unicode et des versions orientées octets des fonctions de chaîne qui peuvent être utilisées avec des caractères provenant de jeux de caractères mono-octets (SBCS). Le type de données Unicode WCHAR est compatible avec le type de données wchar_t dans ANSI C et autorise l’accès aux fonctions de chaîne Unicode. Les versions Unicode des fonctions commencent par les lettres « wcs » (ou parfois « _wcs »). Le type de données CHAR utilisé pour les pages de code est compatible avec le type de données caractère char dans ANSI C, pour permettre l’accès aux fonctions de chaîne de caractères. Les versions caractères des fonctions commencent par les lettres « str ». Il existe également des versions spéciales pour les jeux de caractères codés sur deux octets (DBCS) qui commencent par les lettres « _mbs ».
Les bibliothèques runtime C standard incluent des fonctions génériques pour toutes les fonctions de chaîne C standard. Ils commencent par « _tcs » et sont répertoriés dans le fichier d’en-tête Tchar.h. Ces fonctions utilisent le type de données TCHAR générique.
Une application doit ajouter les lignes suivantes pour utiliser les fonctions génériques et compiler pour Unicode.
#define _UNICODE
#include <tchar.h>
#include <wchar.h>
Notez que les fichiers Tchar.h et Wchar.h sont obligatoires et que le trait de soulignement de début sur la variable _UNICODE est également requis. Cette nomenclature est spécifique à la bibliothèque C standard. Le rendu « UNICODE » sans trait de soulignement est pour les runtimes Microsoft Windows.
Les fonctions wcstombs et mbstowcs peuvent convertir le jeu de caractères pris en charge par la bibliothèque C standard vers Unicode et retour, avec certaines limitations. Pour plus d’informations sur la traduction de chaînes vers et à partir d’Unicode, consultez Traduction entre types de chaînes.
La fonction printf définie dans Tchar.h prend en charge les mêmes spécifications de format que les fonctions d’impression Strsafe.h, par exemple StringCbPrintf. De même, Tchar.h définit une fonction wprintf , dans laquelle la chaîne de format elle-même est une chaîne Unicode.
Attention
Une gestion médiocre de la mémoire tampon est impliquée dans de nombreux problèmes de sécurité qui impliquent des dépassements de mémoire tampon. Consultez Référence Strsafe.h. Les fonctions définies dans Strsafe.h fournissent un traitement supplémentaire pour une gestion appropriée de la mémoire tampon dans votre code. Ils sont destinés à remplacer leurs équivalents C/C++ intégrés, ainsi que des implémentations Microsoft Windows spécifiques. Pour plus d’informations, consultez Considérations relatives à la sécurité : fonctionnalités internationales.
Rubriques connexes