_ismbclegal
string.h:インデックス への移動
ヘッダーファイル
mbstring.h
カテゴリ
分類ルーチン
int _ismbclegal(unsigned int c);
説明
_ismbclegal は,c 引数の各バイトが現在使用中のコードページ内に存在するかどうかをテストします。
戻り値
現在のコードページで引数 c が有効なマルチバイト文字である場合,_ismbclegal は,0 以外の値を返します。そうでない場合は,0 を返します。
コード例
#include <mbstring.h> bool checkValid(char* input) { while (*input) { /* Of we have a MBCS char (lead + trail), check if it is valid in the current OS code-page by using _ismbclegal. This check should never fail since _ismbblead and _ismbbtrail are only sensitive for MBCS chars in the same CP. */ if (_ismbblead(*input) && _ismbbtrail(*(input + 1))) if (!_ismbclegal(*input + (*(input + 1) << 8))) return false; input++; } /* The check succeeded */ return true; }