Funzioni C standard
Le librerie di runtime C standard contengono entrambe le versioni Unicode UTF-16 (caratteri wide) delle funzioni stringa che possono essere usate con Unicode e versioni orientate ai byte delle funzioni stringa che possono essere usate con caratteri di set di caratteri a byte singolo (SBCS). Il tipo di dati Unicode WCHAR è compatibile con il tipo di dati wchar_t in ANSI C e consente l'accesso alle funzioni stringa Unicode. Le versioni Unicode delle funzioni iniziano con le lettere "wcs" (o talvolta "_wcs"). Il tipo di dati CHAR usato per le tabelle codici è compatibile con il tipo di dati carattere char in ANSI C, per consentire l'accesso alle funzioni stringa di caratteri. Le versioni di caratteri delle funzioni iniziano con le lettere "str". Esistono anche versioni speciali per set di caratteri a byte doppio (DBCS) che iniziano con le lettere "_mbs".
Le librerie di runtime C standard includono funzioni generiche per tutte le funzioni stringa C standard. Iniziano con "_tcs" e sono elencati nel file di intestazione Tchar.h. Queste funzioni usano il tipo di dati TCHAR generico.
Un'applicazione deve aggiungere le righe seguenti per usare le funzioni generice e la compilazione per Unicode.
#define _UNICODE
#include <tchar.h>
#include <wchar.h>
Si noti che sono necessari sia i file Tchar.h che Wchar.h e che è necessario anche il carattere di sottolineatura iniziale nella variabile _UNICODE. Questa denominazione è specifica della libreria C standard. Il rendering di "UNICODE" senza il carattere di sottolineatura è per i runtime di Microsoft Windows.
Le funzioni wcstombs e mbstowcs possono eseguire la conversione dal set di caratteri supportato dalla libreria C standard a Unicode e indietro, con alcune limitazioni. Per altre informazioni sulla conversione di stringhe da e verso Unicode, vedere traduzione tra tipi di stringa.
La funzione printf definita in Tchar.h supporta le stesse specifiche di formato delle funzioni di stampa Strsafe.h, ad esempio StringCbPrintf. Analogamente, Tchar.h definisce una funzione wprintf, in cui la stringa di formato stessa è una stringa Unicode.
Cautela
La gestione del buffer insufficiente è implicata in molti problemi di sicurezza che comportano sovraccarichi del buffer. Vedere riferimento a Strsafe.h. Le funzioni definite in Strsafe.h forniscono un'elaborazione aggiuntiva per la gestione corretta del buffer nel codice. Sono progettati per sostituire le controparti C/C++ predefinite e specifiche implementazioni di Microsoft Windows. Per altre informazioni, vedere Considerazioni sulla sicurezza: Funzionalità internazionali.
Argomenti correlati