Header File
stdlib.h
Category
Memory and String Manipulation Routines
Prototype
int mblen(const char *s, size_t n);
Description
Determines the length of a multibyte character.
If s is not null, mblen determines the number of bytes in the multibyte character pointed to by s. The maximum number of bytes examined is specified by n.
The behavior of mblen is affected by the setting of LC_CTYPE category of the current locale.
Return Value
If s is null, mblen returns a nonzero value if multibyte characters have state-dependent encodings. Otherwise, mblen returns 0.
If s is not null, mblen returns 0 if s points to the null character, and -1 if the next n bytes do not comprise a valid multibyte character; the number of bytes that comprise a valid multibyte character.
Example
#include <stdlib.h> #include <stdio.h> void main (void) { int i ; char *mulbc = (char *)malloc( sizeof( char) ); wchar_t widec = L'a'; printf (" convert a wide character to multibyte character:\n" ); i = wctomb (mulbc, widec); printf( "\tCharacters converted: %u\n", i); printf( "\tMultibyte character: %x\n\n", mulbc); printf( " Find length--in byte-- of multibyte character:\n"); i = mblen( mulbc, MB_CUR_MAX); printf("\tLength--in bytes--if multiple character: %u\n",i); printf("\tWide character: %x\n\n", mulbc); printf( " Attempt to find length of a Wide character Null:\n"); widec = L'\0'; wctomb(mulbc, widec); i = mblen( mulbc, MB_CUR_MAX); printf("\tLength--in bytes--if multiple character: %u\n",i); printf("\tWide character: %x\n\n", mulbc); }
Portability
POSIX |
Win32 |
ANSI C |
ANSI C++ |
+ |
+ |
+ |
+ |
Copyright(C) 2008 CodeGear(TM). All Rights Reserved.
|
What do you think about this topic? Send feedback!
|