Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Watcom C Library Reference - <u>synopsis:</u> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
Synopsis:
    #include <mbctype.h>
    int _ismbblead( unsigned int ch );

Description:
    The _ismbblead function tests if the argument ch is a valid first byte
    of a multibyte character.

    For example, in code page 932, valid ranges are 0x81 through 0x9F and
    0xE0 through 0xFC.

    Note:  The argument ch must represent a single-byte value (i.e., 0 <= ch
    <= 255 ).  Incorrect results occur if the argument is a double-byte
    character.

Returns:
     _ismbblead returns a non-zero value if the argument is valid as the
    first byte of a multibyte character; otherwise zero is returned.


Example:
    #include <stdio.h>
    #include <mbctype.h>

    unsigned int chars[] = {
        ' ',
        '.',
        '1',
        'A',
        0x8140, /* double-byte space */
        0x8260, /* double-byte A */
        0x82A6, /* double-byte Hiragana */
        0x8342, /* double-byte Katakana */
        0xA1,   /* single-byte Katakana punctuation */
        0xA6,   /* single-byte Katakana alphabetic */
        0xDF,   /* single-byte Katakana alphabetic */
        0xE0A1  /* double-byte Kanji */
    };

    #define SIZE sizeof( chars ) / sizeof( unsigned int )

    void main()
      {
        int   i;

        _setmbcp( 932 );
        for( i = 0; i < SIZE; i++ ) {
          printf( "%#6.4x does %shave a valid first byte\n",
                chars[i],
                ( _ismbblead( chars[i]>>8 ) ) ? "" : "not " );
        }
      }

    produces the following:

    0x0020 does not have a valid first byte
    0x002e does not have a valid first byte
    0x0031 does not have a valid first byte
    0x0041 does not have a valid first byte
    0x8140 does have a valid first byte
    0x8260 does have a valid first byte
    0x82a6 does have a valid first byte
    0x8342 does have a valid first byte
    0x00a1 does not have a valid first byte
    0x00a6 does not have a valid first byte
    0x00df does not have a valid first byte
    0xe0a1 does have a valid first byte

Classification:
    WATCOM

Systems:
    DOS, Windows, Win386, Win32, OS/2 1.x(all), OS/2-32

See Also:
    _getmbcp, _mbbtombc, _mbcjistojms, _mbcjmstojis, _mbctombb, _ismbbalnum,
    _ismbbalpha, _ismbbgraph, _ismbbkalnum, _ismbbkalpha, _ismbbkana,
    _ismbbkprint, _ismbbkpunct, _ismbbprint, _ismbbpunct, _ismbbtrail,
    _mbbtombc, _mbcjistojms, _mbcjmstojis, _mbctombb, _mbbtype, _setmbcp

See Also: _getmbcp _mbbtombc

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson