Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mbchar(3C) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

mbstring(3C)

setlocale(3C)

environ(5)

chrtbl(1M)



mbchar(3C)      UNIX System V(C Programming Language Utilities)      mbchar(3C)


NAME
      mbchar: mbtowc, mblen, wctomb - multibyte character handling

SYNOPSIS
      #include <stdlib.h>

      int mbtowc (wchart *pwc, const char *s, sizet n);

      int mblen (const char *s, sizet n);

      int wctomb (char *s, wchart wchar);

DESCRIPTION
      Multibyte characters are used to represent characters in an extended
      character set.  This is needed for locales where 8 bits are not enough to
      represent all the characters in the character set.

      The multibyte character handling functions provide the means of
      translating multibyte characters into wide characters and back again.
      Wide characters have type wchart (defined in stdlib.h), which is an
      integral type whose range of values can represent distinct codes for all
      members of the largest extended character set specified among the
      supported locales.

      A maximum of 3 extended character sets are supported for each locale.
      The number of bytes in an extended character set is defined by the
      LCCTYPE category of the locale [see setlocale(3C)].  However, the
      maximum number of bytes in any multibyte character will never be greater
      than MBLENMAX.  which is defined in stdlib.h.  The maximum number of
      bytes in a character in an extended character set in the current locale
      is given by the macro, MBCURMAX, also defined in stdlib.h.

      mbtowc determines the number of bytes that comprise the multibyte
      character pointed to by s. Also, if pwc is not a null pointer, mbtowc
      converts the multibyte character to a wide character and places the
      result in the object pointed to by pwc. (The value of the wide character
      corresponding to the null character is zero.)  At most n characters will
      be examined, starting at the character pointed to by s.

      If s is a null pointer, mbtowc simply returns 0.  If s is not a null
      pointer, then, if s points to the null character, mbtowc returns 0; if
      the next n or fewer bytes form a valid multibyte character, mbtowc
      returns the number of bytes that comprise the converted multibyte
      character; otherwise, s does not point to a valid multibyte character and
      mbtowc returns -1.

      mblen determines the number of bytes comprising the multibyte character
      pointed to by s.  It is equivalent to

            mbtowc ((wchar_t *)0, s, n);




10/89                                                                    Page 1







mbchar(3C)      UNIX System V(C Programming Language Utilities)      mbchar(3C)


      wctomb determines the number of bytes needed to represent the multibyte
      character corresponding to the code whose value is wchar, and, if s is
      not a null pointer, stores the multibyte character representation in the
      array pointed to by s.  At most MBCURMAX characters are stored.

      If s is a null pointer, wctomb simply returns 0.  If s is not a null
      pointer, wctomb returns -1 if the value of wchar does not correspond to a
      valid multibyte character; otherwise it returns the number of bytes that
      comprise the multibyte character corresponding to the value of wchar.

SEE ALSO
      mbstring(3C), setlocale(3C), environ(5).
      chrtbl(1M) in the System Administrator's Reference Manual.









































Page 2                                                                    10/89





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026