Tentang String

Fungsi string memberi aplikasi sarana untuk menyalin, membandingkan, mengurutkan, memformat, dan mengonversi string karakter serta cara untuk menentukan jenis karakter setiap karakter dalam string. Semua fungsi string mendukung kumpulan karakter byte tunggal, byte ganda, dan Unicode jika set karakter ini didukung oleh sistem operasi tempat aplikasi dijalankan.

Peringatan Keamanan: Penggunaan fungsi string yang salah dapat menyebabkan masalah keamanan untuk aplikasi Anda. Biasanya ini melibatkan buffer overrun yang dapat memungkinkan penolakan serangan layanan terhadap aplikasi Anda atau injeksi kode yang dapat dieksekusi dari penyerang. Fungsi Strsafe memungkinkan penanganan string yang lebih aman dan direkomendasikan untuk keamanan yang lebih baik untuk aplikasi Anda. Untuk informasi selengkapnya tentang fungsi-fungsi ini, lihat Menggunakan Fungsi Strsafe.h.

Bagian ini membahas topik berikut.

Perbandingan dengan Fungsi String C Run-Time

Banyak fungsi string menduplikasi atau meningkatkan fungsi string yang akrab dari pustaka run-time (CRT) C standar. Banyak penyempurnaan memungkinkan fungsi string untuk bekerja dengan Unicode atau set karakter yang diperluas. Tabel berikut menunjukkan fungsi CRT, fungsi Windows (yang mendukung Unicode, tidak seperti fungsi CRT), dan fungsi StrSafe.

Fungsi String CRT Fungsi String Windows Fungsi StrSafe
strcat lstrcat
StringCchCat
StringCchCatEx
StringCbCat
StringCbCatEx
strcmp lstrcmp (tidak ada fungsi yang setara)
strcpy lstrcpy
StringCchCopy
StringCchCopyEx
StringCbCopy
StringCbCopyEx
strlen lstrlen
StringCchLength
StringCbLength

 

Fungsi strlen , misalnya, selalu mengembalikan jumlah byte dalam string, tetapi fungsi lstrlen mengembalikan jumlah nilai TCHAR , yang mengacu pada byte untuk versi ANSI dari fungsi atau nilai WCHAR untuk versi Unicode.

Fungsi string berikut berbeda dari fungsi C standar seperti tolower dan toupper karena fungsi tersebut beroperasi pada karakter apa pun dalam set karakter. Dengan menggunakan fungsi CharLower , misalnya, aplikasi dapat mengonversi U huruf besar dengan umlaut (Ü) menjadi huruf kecil (ü). Untuk informasi selengkapnya tentang kumpulan karakter, lihat Kumpulan Karakter byte tunggal.

Fungsi Deskripsi
CharLower Mengonversi karakter atau string menjadi huruf kecil.
CharLowerBuff Mengonversi string karakter menjadi huruf kecil.
CharNext Berpindah ke karakter berikutnya dalam string.
CharPrev Berpindah ke karakter sebelumnya dalam string.
CharUpper Mengonversi karakter atau string menjadi huruf besar.
CharUpperBuff Mengonversi string menjadi huruf besar.

 

Fungsi string berikut membuat penentuan tentang karakter berdasarkan semantik bahasa yang dipilih oleh pengguna. Fungsi-fungsi ini diaktifkan Unicode.

Fungsi Deskripsi
IsCharAlpha Menentukan apakah karakter adalah alfabet.
IsCharAlphaNumeric Menentukan apakah karakter bersifat alfanumerik.
IsCharLower Menentukan apakah karakter adalah huruf kecil.
IsCharUpper Menentukan apakah karakter adalah huruf besar.

 

Tabel berikut ini memperlihatkan ekstensi Unicode ke fungsi run-time (CRT) C standar. Seperti disebutkan sebelumnya, fungsi StrSafe memungkinkan penanganan string yang lebih aman dan direkomendasikan untuk keamanan yang lebih baik untuk aplikasi Anda.

Fungsi CRT standar Fungsi String Fungsi StrSafe
Sprintf wsprintf
StringCchPrintf
StringCchPrintfEx
StringCbPrintf
StringCbPrintfEx
vsprintf wvsprintf
StringCchVPrintf
StringCchVPrintfEx
StringCbVPrintf
StringCbVPrintfEx

 

Sumber Daya String

Aplikasi yang mempertahankan string karakter dalam sumber daya dapat diterjemahkan ke dalam bahasa baru dengan upaya minimum. Alih-alih mencari string dalam modul sumber, Anda cukup menerjemahkan string dalam file sumber daya dan menautkan ulang aplikasi. Selain itu, menggunakan sumber daya string menyederhanakan pembuatan versi Unicode dan non-Unicode aplikasi dari file sumber yang sama.

Fungsi LoadString memuat sumber daya string dari file yang dapat dieksekusi aplikasi. Fungsi FormatMessage memuat sumber daya string dan menginterpretasikan opsi pemformatan yang mungkin disematkan dalam string.

Sumber daya dalam bentuk biner disimpan dalam format Unicode. Saat memuat sumber daya, aplikasi dapat menggunakan versi Unicode dari fungsi sumber daya (LoadStringW, misalnya) untuk mendapatkan sumber daya sebagai data Unicode.

Untuk sumber daya string 16-bit, 255 karakter adalah panjang maksimum. Untuk sumber daya string 32-bit, 65535 karakter adalah panjang maksimum.