mblen
Section: C Library Functions (3)
Updated: 2026-02-08
Index
JM Home Page
roff page
名前
mblen - 次のマルチバイト文字のバイト数を返す
ライブラリ
標準 C ライブラリ (libc,~-lc)
書式
#include <stdlib.h>
int mblen(size_t n;
const char s[n], size_t n);
説明
s が NULL でなければ、 mblen() 関数は s から始まる最大 n バイトのマルチバイト文字列を検査して、
次の完全なマルチバイト文字を取り出す。これには mblen() 関数のみが使用する静的で名前のないシフト状態が使用される。
マルチバイト文字がヌルワイド文字でなければ s から消費される バイト数を返す。マルチバイト文字がヌルワイド文字ならば 0 を返す。
s から始まる n バイトが完全なマルチバイト文字を含んで いなければ、 mblen() は -1 を返す。マルチバイト文字列
に冗長なシフトシーケンスが含まれていると、 n が MB_CUR_MAX 以上の場合にも このようなことが起こりえる。
s から始まるマルチバイト文字列が次の完全な文字の前に 不正なマルチバイト列を含んでいる場合にも、 mblen() は -1 を返す。
s が NULL ならば、 mblen() 関数はこの関数のみが
使用するシフト状態を初期化状態に戻し、シフト状態を使用した文字符号の場合に はゼロ以外を、文字符号がシフト状態を持たない場合にはゼロを返す。
返り値
mblen() 関数は s から始まるマルチバイト列を検査して ヌルワイド文字以外を確認した場合にはそのバイト数を返す。
ヌルワイド文字を確認した場合にはゼロを返す。不正なマルチバイト列に 遭遇した場合や完全なマルチバイト文字を解析できなかった場合には -1 を返す。
属性
この節で使用されている用語の説明については、 attributes(7) を参照。
| インターフェース | 属性 | 値
|
|
mblen()
| Thread safety | MT-Unsafe race
|
バージョン
mbrlen(3) 関数は同じ機能のより良いインターフェースを提供する。
標準規格
C11, POSIX.1-2008.
歴史
POSIX.1-2001, C99.
注意
mblen() の動作は現在のロケールの LC_CTYPE カテゴリーに依存している。
関連項目
mbrlen(3)
Index
- 名前
-
- ライブラリ
-
- 書式
-
- 説明
-
- 返り値
-
- 属性
-
- バージョン
-
- 標準規格
-
- 歴史
-
- 注意
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.