Dizeler için Windows Veri Türleri
Çoğu dize işlemi, Unicode ve Windows kod sayfaları için aynı mantığı kullanabilir. Tek fark, temel işlem biriminin Unicode için 16 bit karakter (geniş karakter olarak da bilinir) ve Windows kod sayfaları için 8 bit karakter olmasıdır. Windows üst bilgi dosyaları, Unicode veya Windows kod sayfaları için derlenebilir kaynaklar oluşturmayı kolaylaştıran çeşitli tür tanımları sağlar.
Windows üç karakter ve dize veri türü kümesini destekler: Unicode veya Windows kod sayfaları için derlenebilir genel tür tanımları kümesi ve iki belirli tür tanımı kümesi. Belirli tür tanımlarından biri Unicode ile, diğeri ise Windows kod sayfalarıyla kullanım içindir.
Genel veri türlerini kullanan bir uygulama, yalnızca üst bilgi dosyalarının #include deyimlerinden önce veya derleme sırasında "UNICODE" tanımlanarak Unicode için derlenebilir. Yeni Windows uygulamaları, çeşitli kod sayfalarının tutarsızlıklarını önlemek ve yerelleştirmeyi basitleştirmek için Unicode kullanmalıdır. Bunlar genel veri türleriyle yazılmalıdır ve bu türleri Unicode türlerine derlemek için "UNICODE" tanımlamalıdır. Bir uygulamanın 8 bit karakter verileriyle çalışması gereken birkaç yerde, Windows kod sayfaları için türleri açıkça kullanabilir.
Genel türleri Windows kod sayfaları için türler halinde derleme özelliği temel olarak eski uygulamaları desteklemek için mevcuttur. Windows kod sayfalarını derlemek için uygulama yalnızca UNICODE tanımını atlar.
Aşağıdaki örnekte, üç veri türü kümesini tanımlamak için Windows üst bilgi dosyalarında kullanılan yöntem gösterilmektedir. Uygulama için bkz. Winnt.h üst bilgi dosyası.
// Generic types
#ifdef UNICODE
typedef wchar_t TCHAR;
#else
typedef unsigned char TCHAR;
#endif
typedef TCHAR *LPTSTR, *LPTCH;
// 8-bit character specific
typedef unsigned char CHAR;
typedef CHAR *LPSTR, *LPCH;
// Unicode specific (wide characters)
typedef unsigned wchar_t WCHAR;
typedef WCHAR *LPWSTR, *LPWCH;
TCHAR veya LPTSTR gibi bir tür tanımındaki "T" harfi, Windows kod sayfaları veya Unicode için derlenebilir genel bir tür belirtir. WCHAR veya LPWSTR gibi bir tür tanımındaki "W" harfi bir Unicode türü tanımlar. Windows kod sayfaları eski formda olduğundan, CHAR ve LPSTR gibi basit tür tanımları vardır. Windows'daki veri türlerinin tam açıklaması için bkz. Windows Veri Türleri.
İlgili konular
-
Windows API 'de Unicode