Manpages

名 前

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 を 返 す 。

属 性

マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 )

mblen() 関 数 は ス レ ッ ド セ ー フ で は な い 。

準 拠

C99.

注 意

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

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

関 連 項 目

mbrlen(3)

こ の 文 書 に つ い て

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