Menggunakan pemetaan teks generik
Khusus Microsoft
Untuk menyederhanakan pengembangan kode untuk berbagai pasar internasional, pustaka run-time Microsoft menyediakan pemetaan "teks generik" khusus Microsoft untuk banyak jenis data, rutinitas, dan objek lainnya. Pemetaan ini didefinisikan dalam TCHAR.H. Anda dapat menggunakan pemetaan nama ini untuk menulis kode generik yang dapat dikompilasi untuk salah satu dari tiga jenis set karakter: ASCII (SBCS), MBCS, atau Unicode, tergantung pada konstanta manifes yang #define
Anda tentukan menggunakan pernyataan. Pemetaan teks generik adalah ekstensi Microsoft yang tidak kompatibel dengan ANSI.
Arahan praprosesor untuk pemetaan teks generik
#define |
Versi yang dikompilasi | Contoh |
---|---|---|
_UNICODE |
Unicode (karakter lebar) | _tcsrev peta ke _wcsrev |
_MBCS |
Karakter multibyte | _tcsrev peta ke _mbsrev |
Tidak ada (default: baik _UNICODE dan _MBCS tidak ditentukan) |
SBCS (ASCII) | _tcsrev peta ke strrev |
Misalnya, fungsi _tcsrev
teks generik , didefinisikan dalam TCHAR. H, memetakan ke mbsrev
jika MBCS
telah ditentukan dalam program Anda, atau jika _wcsrev
_UNICODE
telah ditentukan. Jika tidak _tcsrev
, petakan ke strrev
.
Jenis _TCHAR
data teks generik , juga ditentukan dalam TCHAR. H, memetakan untuk mengetik char
jika _MBCS
ditentukan, untuk mengetik wchar_t
jika _UNICODE
ditentukan, dan untuk mengetik char
jika tidak ada konstanta yang ditentukan. Pemetaan jenis data lainnya disediakan dalam TCHAR. H untuk kenyamanan pemrograman, tetapi _TCHAR
adalah jenis yang paling berguna.
Pemetaan Tipe Data Teks Generik
Nama tipe data teks generik | SBCS (_UNICODE, _MBCS tidak ditentukan) | _MBCS ditentukan | _UNICODE ditentukan |
---|---|---|---|
_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 atau _TEXT |
Tidak ada efek (dihapus oleh preprocessor) | Tidak ada efek (dihapus oleh preprocessor) | L (mengonversi karakter atau string berikut ke mitra Unicode-nya) |
Untuk daftar lengkap pemetaan teks generik rutin, variabel, dan objek lainnya, lihat Pemetaan teks generik.
Fragmen kode berikut mengilustrasikan penggunaan _TCHAR
dan _tcsrev
untuk pemetaan ke model MBCS, Unicode, dan SBCS.
_TCHAR *RetVal, *szString;
RetVal = _tcsrev(szString);
Jika MBCS
telah ditentukan, prapemrosesan memetakan fragmen sebelumnya ke kode berikut:
char *RetVal, *szString;
RetVal = _mbsrev(szString);
Jika _UNICODE
telah ditentukan, prapemrosesan memetakan fragmen yang sama ke kode berikut:
wchar_t *RetVal, *szString;
RetVal = _wcsrev(szString);
Jika keduanya _MBCS
dan _UNICODE
belum didefinisikan, preprocessor memetakan fragmen ke kode ASCII byte tunggal, sebagai berikut:
char *RetVal, *szString;
RetVal = strrev(szString);
Makro ini memungkinkan Anda menulis, memelihara, dan mengkompilasi satu file kode sumber menggunakan rutinitas khusus untuk ketiga jenis set karakter.
END Khusus Microsoft
Baca juga
Pemetaan teks generik
Pemetaan jenis data
Pemetaan variabel konstanta dan global
Pemetaan rutin
Contoh program teks generik
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk