この関数の目的
mblen()は、複バイト文字のバイト数を返す。この関数は複バイト文字関数である。
定義
#include <stdlib.h> int mblen(const char *s, size_t n);
働き
s がヌルポインタでなければ、この関数は s が指す複バイト文字のバイト数を決定する。 mbtowc() のシフト状態が影響を受けないことを除けば、これは以下と等価である。
mbtowc((wchar_t *)0, s, n);
処理系は、どのライブラリ関数も mblen() を呼ばないように動作しなければならない。
返り値は、s がヌルポインタである場合、状態依存の符号化を持つか持たないかで非ゼロかゼロが返る。 s がヌルポインタでない場合、( s がヌル文字を指す時) 0か、( n 以下のバイト数で正しい複バイト文字が形成される時)複バイト文字内のバイト数を返すか、 (複バイト文字として認識されない時)-1を返す。