C ++ mbrlen () - Perpustakaan Standard C ++

Fungsi mbrlen () dalam C ++ menentukan ukuran dalam bait watak multibait.

Fungsi mbrlen () ditentukan dalam fail tajuk.

prototaip mbrlen ()

 size_t mbrlen (const char * s, size_t n, mbstate_t * ps);

Fungsi mbrlen () memeriksa rentetan yang byte pertama ditunjukkan oleh s dan menentukan ukurannya dalam bait untuk keadaan penukaran ps saat ini. Paling banyak n bait di s diperiksa.

mbrlen () Parameter

  • s: Penunjuk ke bait rentetan multibait pertama untuk diperiksa.
  • n: Bilangan maksimum bait dalam s untuk diperiksa.
  • ps: Penunjuk ke objek mbstate_t yang menentukan keadaan penukaran.

mbrlen () Nilai pulangan

Fungsi mbrlen () mengembalikan:

  • Bilangan bait yang melengkapkan watak multibait yang sah.
  • 0 jika s menunjukkan watak null.
  • -1 adalah kesalahan pengekodan berlaku.
  • -2 jika n bait seterusnya tidak mewakili watak multibait yang lengkap.

Contoh: Bagaimana fungsi mbrlen () berfungsi?

 #include #include #include using namespace std; void test_mbrlen(const char *s, size_t n) ( mbstate_t ps = mbstate_t(); int retVal = mbrlen(s, n, &ps); if (retVal == -2) cout << "Next " << n << " byte(s) doesn't represent a complete multibyte character" << endl; else if (retVal == -1) cout << "Next " << n << " byte(s) doesn't represent a valid multibyte character" << endl; else cout << "Next " << n << " byte(s) of " << s << " holds " << retVal << " byof multibyte character" << endl; ) int main() ( setlocale(LC_ALL, "en_US.utf8"); char str() = "u00b5"; test_mbrlen(str, 1); test_mbrlen(str, 5); return 0; )

Semasa anda menjalankan program, outputnya adalah:

 1 bait seterusnya tidak mewakili watak multibait yang lengkap 5 bait seterusnya µ menahan 2 bait watak multibait

Artikel menarik...