Que représente le "T" dans une chaîne. Par exemple _T ("Bonjour"). J'ai vu cela dans des projets où la prise en charge Unicode est nécessaire. Ce qu'il indique réellement au processeur
_T
signifie "texte". Cela transformera votre littéral en littéral de caractère large Unicode si et seulement si vous compilez vos sources avec le support Unicode. Voir http://msdn.Microsoft.com/en-us/library/c426s321.aspx .
Depuis MSDN:
Utilisez le
_T
macro pour coder les chaînes littérales de manière générique, afin qu'elles se compilent en tant que chaînes Unicode sous Unicode ou en tant que chaînes ANSI (y compris MBCS) sans Unicode
Il est en fait utilisé pour les projets où Unicode et le support ANSI est requis. Il indique au compilateur de compiler le littéral de chaîne au format Unicode ou ANSI selon la valeur d'une définition de précompilateur.
Pourquoi voudriez-vous faire cela est une autre question. Si vous souhaitez prendre en charge Unicode seul, écrivez simplement Unicode, dans ce cas L"Hello"
. La macro _T()
a été ajoutée lorsque vous aviez besoin de prendre en charge Windows NT et versions ultérieures (qui prennent en charge Unicode) et Windows 9x/ME (qui ne le font pas). De nos jours, tout code utilisant ces macros est obsolète, car toutes les versions modernes de Windows sont basées sur Unicode.