Fungsi C Standar

Pustaka runtime C standar berisi versi fungsi string Unicode UTF-16 (karakter lebar) yang dapat digunakan dengan unicode dan versi fungsi string berorientasi byte yang dapat digunakan dengan karakter dari set karakter byte tunggal (SBCS). WCHAR jenis data Unicode kompatibel dengan jenis data yang wchar_t di ANSI C, dan memungkinkan akses ke fungsi string Unicode. Versi Unicode dari fungsi dimulai dengan huruf "wcs" (atau terkadang "_wcs"). Jenis data CHAR yang digunakan untuk halaman kode kompatibel dengan karakter jenis data karakter di ANSI C, untuk memungkinkan akses ke fungsi string karakter. Versi karakter fungsi dimulai dengan huruf "str". Ada juga versi khusus untuk set karakter byte ganda (DBCSs) yang dimulai dengan huruf "_mbs".

Pustaka runtime C standar mencakup fungsi generik untuk semua fungsi string C standar. Mereka dimulai dengan "_tcs" dan tercantum dalam file header Tchar.h. Fungsi-fungsi ini menggunakan jenis data TCHAR generik.

Aplikasi harus menambahkan baris berikut untuk menggunakan fungsi generik dan mengkompilasi untuk Unicode.

#define _UNICODE

#include <tchar.h>
#include <wchar.h>

Perhatikan bahwa file Tchar.h dan Wchar.h diperlukan, dan bahwa garis bawah utama pada variabel _UNICODE juga diperlukan. Nomenklatur ini khusus untuk pustaka C standar. "UNICODE" dirender tanpa garis bawah adalah untuk runtime Microsoft Windows.

Fungsi wcstombs dan mbstowcs dapat mengonversi dari kumpulan karakter yang didukung oleh pustaka C standar ke Unicode dan kembali, dengan beberapa batasan. Untuk informasi selengkapnya tentang menerjemahkan string ke dan dari Unicode, lihat Terjemahan Antar Jenis String.

Fungsi printf yang ditentukan dalam Tchar.h mendukung spesifikasi format yang sama dengan fungsi cetak Strsafe.h, misalnya StringCbPrintf. Demikian pula, Tchar.h mendefinisikan fungsi wprintf , di mana string format itu sendiri adalah string Unicode.

Perhatian

Penanganan buffer yang buruk diimplikasikan dalam banyak masalah keamanan yang melibatkan buffer overruns. Lihat Referensi Strsafe.h. Fungsi yang ditentukan dalam Strsafe.h menyediakan pemrosesan tambahan untuk penanganan buffer yang tepat dalam kode Anda. Mereka dimaksudkan untuk menggantikan rekan-rekan C/C++ bawaan mereka serta implementasi Microsoft Windows tertentu. Untuk informasi selengkapnya, lihat Pertimbangan Keamanan: Fitur Internasional.

 

Unicode di Windows API