Man page - mbtowc(3)

Packages contains this manual

Available languages:

en fr pl ja ru ro de

Manual

MBTOWC

名 前
書 式
説 明
返 り 値
属 性
準 拠
注 意
関 連 項 目
こ の 文 書 に つ い て

名 前

mbtowc - マ ル チ バ イ ト 列 を ワ イ ド 文 字 に 変 換 す る

書 式

#include <stdlib.h>

int mbtowc(wchar_t * pwc , const char * s , size_t n );

説 明

こ の 関 数 が 用 い ら れ る 場 合 、 通 常 s が NULL で な く pwc も NULL で な い 。 こ の 場 合 は mbtowc () 関 数 は s か ら 始 ま る 最 大 n バ イ ト の マ ル チ バ イ ト 文 字 列 を 検 査 し て 、 次 の 完 全 な マ ル チ バ イ ト 文 字 を 取 り 出 し 、 そ れ を ワ イ ド 文 字 に 変 換 し て *pwc に 格 納 す る 。 同 時 に mbtowc 関 数 の み が 使 用 す る 内 部 状 態 を 更 新 す る 。 s が ヌ ル バ イ ト ('\0') 以 外 を 指 し て い る 場 合 は 、 s か ら 消 費 す る バ イ ト 数 を 返 す 。 s が ヌ ル バ イ ト を 指 し て い る 場 合 に は 0 を 返 す 。

s か ら 始 ま る n バ イ ト が 完 全 な マ ル チ バ イ ト 文 字 を 含 ん で い な い 場 合 や 不 正 な マ ル チ バ イ ト 列 を 含 ん で い る 場 合 に は mbtowc () は -1 を 返 す 。 マ ル チ バ イ ト 文 字 列 に 冗 長 な シ フ ト シ ー ケ ン ス が 含 ま れ て い る と n >= MB_CUR_MAX の 場 合 も こ の よ う な こ と が 起 こ り え る 。

s が NULL で な く pwc が NULL の 場 合 は mbtowc () 関 数 は 上 記 と 同 様 に 動 作 す る が 、 変 換 し た ワ イ ド 文 字 は メ モ リ ー に は 書 き 込 ま れ な い 。

三 番 目 の 場 合 と し て s が NULL の 場 合 は pwc n は 無 視 さ れ る 。 mbtowc () 関 数 の み が 使 用 す る シ フ ト 状 態 は 初 期 状 態 に 戻 さ れ る 。 そ し て 文 字 符 号 が シ フ ト 状 態 に 依 存 す る な ら ば ゼ ロ 以 外 を 、 文 字 符 号 が 状 態 に よ ら な い な ら ば ゼ ロ を 返 す 。

返 り 値

s が NULL で な け れ ば mbtowc () 関 数 は s か ら 消 費 し た バ イ ト 数 を 、 s が ヌ ル 文 字 を 指 し て い る 場 合 は ゼ ロ を 、 変 換 に 失 敗 し た 場 合 は -1 を 返 す 。

s が NULL な ら ば mbtowc () 関 数 は 文 字 符 号 が シ フ ト 状 態 に 依 存 し て い れ ば ゼ ロ 以 外 を 、 状 態 に よ ら な け れ ば ゼ ロ を 返 す 。

属 性

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

Image grohtml-33807-1.png

準 拠

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

注 意

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

こ の 関 数 は マ ル チ ス レ ッ ド で は 安 全 で は な い 。 mbrtowc (3) 関 数 は 同 じ 機 能 の よ り 良 い イ ン タ ー フ ェ ー ス を 提 供 す る 。

関 連 項 目

MB_CUR_MAX (3), mblen (3), mbrtowc (3), mbstowcs (3), wcstombs (3), wctomb (3)

こ の 文 書 に つ い て

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