Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       mblen - 次のマルチバイト文字のバイト数を返す

書式

       #include <stdlib.h>

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

説明

       s が NULL でなければ、 mblen()  関数は s から始まる最大 n バイトのマルチバイト文字列を検査して、 次の完全
       なマルチバイト文字を取り出す。これには  mblen()    関数のみが使用する静的で名前のないシフト状態が使用され
       る。 マルチバイト文字がヌルワイド文字でなければ s から消費される バイト数を返す。マルチバイト文字がヌルワ
       イド文字ならば 0 を返す。

       s から始まる n バイトが完全なマルチバイト文字を含んで いなければ、 mblen()  は -1  を返す。マルチバイト文
       字列  に冗長なシフトシーケンスが含まれていると、  nMB_CUR_MAX 以上の場合にも このようなことが起こりえ
       る。

       s から始まるマルチバイト文字列が次の完全な文字の前に  不正なマルチバイト列を含んでいる場合にも、  mblen()
       は -1 を返す。

       s が NULL ならば、 mblen()  関数はこの関数のみが 使用するシフト状態を初期化状態に戻し、シフト状態を使用し
       た文字符号の場合に はゼロ以外を、文字符号がシフト状態を持たない場合にはゼロを返す。

返り値

       mblen()  関数は s から始まるマルチバイト列を検査して ヌルワイド文字以外を確認した場合にはそのバイト数を返
       す。  ヌルワイド文字を確認した場合にはゼロを返す。不正なマルチバイト列に 遭遇した場合や完全なマルチバイト
       文字を解析できなかった場合には -1 を返す。

属性

       この節で使用されている用語の説明については、 attributes(7) を参照。

       ┌─────────────────┬───────────────┬────────────────┐
       │インターフェース属性             │
       ├─────────────────┼───────────────┼────────────────┤
       │mblen()          │ Thread safety │ MT-Unsafe race │
       └─────────────────┴───────────────┴────────────────┘

準拠

       POSIX.1-2001, POSIX.1-2008, C99.

注意

       mblen()  の動作は現在のロケールの LC_CTYPE カテゴリーに依存している。

       mbrlen(3)  関数は同じ機能のより良いインターフェースを提供する。

関連項目

       mbrlen(3)

この文書について

       この man ページは Linux man-pages プロジェクトのリリース 5.10  の一部である。プロジェクトの説明とバグ報告
       に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。