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 <mbstring.h>
    int _ismbbtrail( unsigned int ch );

Description:
    The _ismbbtrail function tests if ch is a valid second byte of a
    multibyte character.

    For example, in code page 932, valid ranges are 0x40 through 0x7E and
    0x80 through 0xFC.

    Note:  Only the least significant (trailing) byte of the argument ch is
    tested.  If the argument is a double-byte character, the leading byte is
    ignored and may be invalid.  This is shown by the example below.

Returns:
     _ismbbtrail returns a non-zero value if the argument is valid as the
    second 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 second byte\n",
                chars[i],
                ( _ismbbtrail(chars[i]&0xff) ) ? "" : "not " );
        }
      }

    produces the following:

    0x0020 does not have a valid second byte
    0x002e does not have a valid second byte
    0x0031 does not have a valid second byte
    0x0041 does have a valid second byte
    0x8140 does have a valid second byte
    0x8260 does have a valid second byte
    0x82a6 does have a valid second byte
    0x8342 does have a valid second byte
    0x00a1 does have a valid second byte
    0x00a6 does have a valid second byte
    0x00df does have a valid second byte
    0xe0a1 does have a valid second 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, _ismbblead, _ismbbprint, _ismbbpunct,
    _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