The function mblen () in C

The function int mblen (const char * str, n) returns the length of a multi-byte char pointed to by parameter str.

The function int mblen (const char * str, n) returns the length of a multi-byte char pointed to by parameter str.

Declare the function mblen () in C

Here is the declaration for mblen () in C:

 int mblen ( const char * str , size_t n ) 

Parameters

str : This is the pointer to the first byte of a multi-byte char .

n : This is the maximum number of bytes to be tested for character length.

Returns the value

This function returns the number of bytes transmitted from the sequence of bytes starting in str, if a non-null wide char is confirmed. It returns 0 if a null wide char is detected. It returns -1 if the sequence of bytes is invalid or if it cannot fully analyze a multi-byte char.

For example

The following C program illustrates the usage of mblen () in C:

 #include #include #include int main () { int len ; char * pmbnull = NULL ; char * pmb = ( char *) malloc ( MB_CUR_MAX ); wchar_t * pwc = L "Hi" ; wchar_t * pwcs = ( wchar_t *) malloc ( sizeof ( wchar_t )); printf ( "Chuyen doi thanh multibyte stringn" ); len = wcstombs ( pmb , pwc , MB_CUR_MAX ); printf ( "Cac ky tu vua duoc chuyen doi %dn" , len ); printf ( "Gia tri Hex cua multibyte char dau tien la: %#.4xn" , pmb ); len = mblen ( pmb , MB_CUR_MAX ); printf ( "Do dai (so byte) cua multibyte char %x la: %un" , pmb , len ); pmb = NULL ; len = mblen ( pmb , MB_CUR_MAX ); printf ( "Do dai (so byte) cua multibyte char %x la: %un" , pmb , len ); return ( 0 ); } 

Compiling and running the above C program will result:

The function mblen () in C Picture 1The function mblen () in C Picture 1

According to Tutorialspoint

Previous lesson: srand () function in C

Next lesson: The mbstowcs () function in C

4 ★ | 1 Vote