Fonctions C standard
Les bibliothèques de runtime C standard contiennent à la fois les versions Unicode UTF-16 (caractères larges) des fonctions de chaîne qui peuvent être utilisées avec Unicode et les versions orientées octets des fonctions de chaîne qui peuvent être utilisées avec des caractères de jeux de caractères à octet unique (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 codes est compatible avec le type de données caractères char dans ANSI C, pour autoriser l’accès aux fonctions de chaîne de caractères. Les versions de caractères des fonctions commencent par les lettres « str ». Il existe également des versions spéciales pour jeux de caractères codés sur deux octets (DBCS) qui commencent par les lettres « _mbs ».
Les bibliothèques de 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 concerne les runtimes Microsoft Windows.
Les wcstombs et fonctions de mbstowcs peuvent convertir à partir du jeu de caractères pris en charge par la bibliothèque C standard en Unicode et en arrière, avec certaines limitations. Pour plus d’informations sur la traduction de chaînes vers et depuis Unicode, consultez traduction entre les 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.
Prudence
Une mauvaise gestion des mémoires tampons est impliquée dans de nombreux problèmes de sécurité qui impliquent des dépassements de mémoire tampon. Consultez de référence Strsafe.h . Les fonctions définies dans Strsafe.h fournissent un traitement supplémentaire pour la gestion appropriée des mémoires tampons 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
-
Unicode dans le de l’API Windows