Fungsi mblen () di C ++ menentukan ukuran (dalam byte) dari karakter multibyte.
Fungsi mblen () didefinisikan dalam file header.
mblen () prototipe (Pada standar C ++ 11)
int mblen (const char * s, size_t max);
Fungsi mblen () mengambil dua argumen s dan max, dan mengembalikan nilai integer. Pointer s menunjuk ke byte pertama dari karakter multibyte yang ukurannya dikembalikan oleh fungsi.
mblen () Parameter
- s: Penunjuk ke byte pertama dari karakter multibyte atau penunjuk null.
- max: Jumlah maksimum byte dalam s yang dapat diperiksa.
mblen () Nilai kembali
Jika s adalah pointer nol, panggilan ke mblen () menyetel ulang status konversi internalnya untuk merepresentasikan status shift awal dan mengembalikan:
- 0 jika pengkodean multibyte saat ini tidak bergantung pada status (tidak menggunakan urutan shift).
- nilai bukan nol jika pengkodean multibyte saat ini bergantung pada negara bagian (menggunakan urutan shift).
Jika s bukan pointer nol, fungsi mblen () mengembalikan:
- jumlah byte yang terkandung dalam karakter multibyte.
- -1 jika byte pertama yang ditunjukkan oleh s tidak membentuk karakter multibyte yang valid.
- 0 jika s menunjuk ke karakter nol ' 0'.
Contoh: Bagaimana fungsi mblen () bekerja di C ++?
#include #include #include using namespace std; int main() ( int len; char *s = (char *)malloc(20); strcpy(s,"xe4xbdxa0xe5xa5xbd"); /* resets the conversion state */ mblen(NULL, 0); len = mblen(s,strlen(s)); cout << "Length of multibyte character: " << len << endl; return 0; )
Saat Anda menjalankan program, hasilnya adalah:
Panjang karakter multibyte: 1