Megosztás a következőn keresztül:


Általános szövegleképezések használata

Microsoft-specifikus

A különböző nemzetközi piacok kódfejlesztésének egyszerűsítése érdekében a Microsoft futásidejű kódtára számos adattípushoz, rutinhoz és egyéb objektumhoz biztosít Microsoft-specifikus "generic-text" leképezéseket. Ezek a leképezések a következőben vannak definiálva TCHAR.H: . Ezekkel a névleképezésekkel olyan általános kódot írhat, amely a háromféle karakterkészlethez fordítható le: ASCII (SBCS), MBCS vagy Unicode, egy utasítással #define definiált jegyzékkonstanstól függően. Az általános szövegleképezések olyan Microsoft-bővítmények, amelyek nem anSI-kompatibilisek.

Preprocesszor-irányelvek általános szövegleképezésekhez

#define Lefordított verzió példa
_UNICODE Unicode (széles karakter) _tcsrev a _wcsrev-re vonatkozik
_MBCS Többbájtos karakter _tcsrev a _mbsrev-re vonatkozik
Nincs (az alapértelmezett: mindkettő _UNICODE és _MBCS nincs definiálva) SBCS (ASCII) _tcsrev a strrev-re vonatkozik

A programban definiált általános szövegfüggvény _tcsrevpéldául arra képez le leképezést, hogy _mbsrev_MBCS a program definiálta-e, vagy _wcsrev hogy _UNICODE definiálva van-e.TCHAR.H Ellenkező esetben a _tcsrev a strrev-re van képezve.

A szintén definiált TCHAR.Háltalános szöveges adattípus _TCHARa típustchar, ha _MBCS van definiálva, a típustwchar_t, ha _UNICODE van definiálva, és beírjachar, ha egyik állandó sincs definiálva. A programozási kényelem érdekében más adattípus-leképezések is rendelkezésre TCHAR.H állnak, de _TCHAR ez a típus a legkedvezőbb.

Generic-Text adattípus-leképezések

Általános szöveg adattípus neve SBCS (_UNICODEnincs _MBCS definiálva) _MBCS Meghatározott _UNICODE Meghatározott
_TCHAR char char wchar_t
_TINT int int wint_t
_TSCHAR signed char signed char wchar_t
_TUCHAR unsigned char unsigned char wchar_t
_TXCHAR char unsigned char wchar_t
_T vagy _TEXT Nincs hatás (az előfeldolgozó eltávolítja) Nincs hatás (az előfeldolgozó eltávolítja) L (a következő karaktert vagy sztringet Unicode-megfelelővé alakítja)

A rutinok, változók és egyéb objektumok általános-szöveges leképezéseinek teljes listáját lásd : Generic-text mappings.

Az alábbi kódrészletek a _TCHAR és _tcsrev használatát, valamint a MBCS-, Unicode- és SBCS-modellekre való leképezését szemléltetik.

_TCHAR *RetVal, *szString;
RetVal = _tcsrev(szString);

Ha _MBCS definiálva van, az előfeldolgozó leképezi az előző töredéket a következő kódra:

char *RetVal, *szString;
RetVal = _mbsrev(szString);

Ha _UNICODE definiálva van, az előfeldolgozó leképezi ugyanazt a töredéket a következő kódra:

wchar_t *RetVal, *szString;
RetVal = _wcsrev(szString);

Ha mindkettő _MBCS , és _UNICODE nincs definiálva, az előprocesszor a töredéket egy bájtos ASCII-kódra képezi le az alábbiak szerint:

char *RetVal, *szString;
RetVal = strrev(szString);

Ezek a makrók lehetővé teszik egyetlen forráskódfájl írását, karbantartását és fordítását mindhárom karakterkészletre jellemző rutinok használatával.

END Microsoft-specifikus kifejezés

Lásd még

Általános szövegleképezések
Adattípus-leképezések
Állandó és globális változóleképezések
Rutinleképezések
Általános szöveges mintaprogram