C ++ mblen () - Thư viện chuẩn C ++

Hàm mblen () trong C ++ xác định kích thước (tính bằng byte) của một ký tự nhiều byte.

Hàm mblen () được định nghĩa trong tệp tiêu đề.

mblen () nguyên mẫu (Theo tiêu chuẩn C ++ 11)

 int mblen (const char * s, size_t max);

Hàm mblen () nhận hai đối số s và max và trả về một giá trị nguyên. Con trỏ s trỏ đến byte đầu tiên của một ký tự nhiều byte có kích thước được trả về bởi hàm.

mblen () Tham số

  • s: Con trỏ đến byte đầu tiên của một ký tự nhiều byte hoặc một con trỏ rỗng.
  • max: Số byte tối đa trong s có thể được kiểm tra.

mblen () Giá trị trả về

Nếu s là một con trỏ null, một lệnh gọi tới mblen () sẽ đặt lại trạng thái chuyển đổi bên trong của nó để biểu thị trạng thái dịch chuyển ban đầu và trả về:

  • 0 nếu mã hóa multibyte hiện tại không phụ thuộc vào trạng thái (không sử dụng chuỗi dịch chuyển).
  • giá trị khác 0 nếu mã hóa multibyte hiện tại phụ thuộc vào trạng thái (sử dụng chuỗi dịch chuyển).

Nếu s không phải là một con trỏ null, hàm mblen () trả về:

  • số byte được chứa trong ký tự multibyte.
  • -1 nếu các byte đầu tiên được trỏ tới bởi s không tạo thành một ký tự multibyte hợp lệ.
  • 0 nếu s đang trỏ vào ký tự rỗng ' 0'.

Ví dụ: Hàm mblen () hoạt động như thế nào trong 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; )

Khi bạn chạy chương trình, đầu ra sẽ là:

 Độ dài của ký tự multibyte: 1

thú vị bài viết...