mblen — determine number of bytes in next multibyte character
#include <stdlib.h>
int
            mblen( | 
            const char * | s, | 
| size_t | n); | 
          
If s is not a NULL
      pointer, the mblen() function
      inspects at most n
      bytes of the multibyte string starting at s and extracts the next
      complete multibyte character. It uses a static anonymous
      shift state only known to the mblen function. If the
      multibyte character is not the null wide character, it
      returns the number of bytes that were consumed from
      s. If the multibyte
      character is the null wide character, it returns 0.
If the n bytes
      starting at s do not
      contain a complete multibyte character, mblen() returns −1. This can happen
      even if n >=
      MB_CUR_MAX, if the multibyte
      string contains redundant shift sequences.
If the multibyte string starting at s contains an invalid multibyte
      sequence before the next complete character, mblen() also returns −1.
If s is a NULL
      pointer, the mblen() function
      resets the shift state, only known to this function, to the
      initial state, and returns nonzero if the encoding has
      nontrivial shift state, or zero if the encoding is
      stateless.
The mblen() function returns
      the number of bytes parsed from the multibyte sequence
      starting at s, if a
      non-null wide character was recognized. It returns 0, if a
      null wide character was recognized. It returns −1, if
      an invalid multibyte sequence was encountered or if it
      couldn't parse a complete multibyte character.
The behavior of mblen()
      depends on the LC_CTYPE
      category of the current locale.
The function mbrlen(3) provides a better interface to the same functionality.
This page is part of release 2.79 of the Linux man-pages project. A
      description of the project, and information about reporting
      bugs, can be found at
      http://www.kernel.org/doc/man-pages/.
| 
                 Copyright (c) Bruno Haible <haibleclisp.cons.org> This is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. References consulted: GNU glibc-2 source code and manual Dinkumware C library reference http://www.dinkumware.com/ OpenGroup's Single Unix specification http://www.UNIX-systems.org/online.html ISO/IEC 9899:1999  |