C ++ mblen () - C ++ Pustaka Standar

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

Artikel yang menarik...