Man page - mbrtowc(3)

Packages contains this manual

Available languages:

en fr es ja ru ro

Manual

MBRTOWC

名 前
書 åŧ
čĒŦ 明
čŋ” り 値
åąž 性
æē– 拠
æŗ¨ 意
é–ĸ 逪 項 į›Ž
こ ぎ 文 書 ãĢ つ い ãĻ

名 前

mbrtowc - マ ãƒĢ チ バ イ ト 列 を ワ イ ド 文 字 ãĢ 変 換 す る

書 åŧ

#include <wchar.h>

size_t mbrtowc(wchar_t * pwc , const char * s , size_t n , mbstate_t * ps );

čĒŦ 明

こ ぎ é–ĸ 数 が ᔍ い ら れ る å ´ 合 、 通 常 s が NULL で ãĒ く pwc も NULL で ãĒ い 。 こ ぎ å ´ 合 は 、 mbrtowc () é–ĸ 数 は s か ら 始 ぞ る 最 大 n バ イ ト ぎ マ ãƒĢ チ バ イ ト 文 字 を 検 æŸģ し ãĻ 、 æŦĄ ぎ 厌 全 ãĒ マ ãƒĢ チ バ イ ト 文 字 列 を 取 り å‡ē し 、 そ れ を ワ イ ド 文 字 ãĢ 変 換 し ãĻ *pwc ãĢ æ ŧ į´ す る 。 同 時 ãĢ ã‚ˇ フ ト įŠļ 態 *ps を 更 新 す る 。 変 換 し た ワ イ ド 文 字 が L'\0' (ヌ ãƒĢ ワ イ ド 文 字 ) で ãĒ け れ ば 、 s か ら æļˆ č˛ģ す る バ イ ト 数 を čŋ” す 。 変 換 し た ワ イ ド 文 字 が L'\0' ぎ å ´ 合 ãĢ は ã‚ˇ フ ト įŠļ 態 *ps を 初 期 įŠļ 態 ãĢ æˆģ し ãĻ 0 を čŋ” す 。

s か ら 始 ぞ る n バ イ ト が 厌 全 ãĒ マ ãƒĢ チ バ イ ト 文 字 を åĢ ん で い ãĒ い å ´ 合 ãĢ は 、 mbrtowc () は (size_t) -2 を čŋ” す 。 マ ãƒĢ チ バ イ ト 文 字 列 ãĢ 冗 長 ãĒ ã‚ˇ フ ト ã‚ˇ ãƒŧ ã‚ą ãƒŗ ゚ が åĢ ぞ れ ãĻ い る と 、 n >= MB_CUR_MAX ぎ 時 ãĢ も こ ぎ よ う ãĒ こ と が čĩˇ こ り え る 。

s か ら 始 ぞ る マ ãƒĢ チ バ イ ト 文 字 列 が 、 æŦĄ ぎ 厌 全 ãĒ 文 字 ぎ 前 ãĢ 不 æ­Ŗ ãĒ マ ãƒĢ チ バ イ ト 列 を åĢ ん で い る å ´ 合 ãĢ は 、 mbrtowc () は (size_t) -1 を čŋ” し 、 errno ãĢ EILSEQ を 設 厚 す る 。 こ ぎ å ´ 合 は *ps へ ぎ åŊą éŸŋ は æœĒ 厚 įžŠ で あ る 。

s が NULL で ãĒ く pwc が NULL ぎ å ´ 合 は mbrtowc () é–ĸ 数 は 上 記 と 同 様 ãĢ 動 äŊœ す る が 、 変 換 し た ワ イ ド 文 字 は ãƒĄ ãƒĸ ãƒĒ ãƒŧ ãĢ は 書 き čžŧ ぞ れ ãĒ い 。

puts *ps in the initial state and returns 0. 三 į•Ē į›Ž ぎ å ´ 合 と し ãĻ s が NULL ぎ å ´ 合 、 pwc と n は į„Ą čĻ– さ れ る 。 *ps が 襨 įž す る 変 換 įŠļ 態 が 不 厌 全 ãĒ マ ãƒĢ チ バ イ ト 文 字 変 換 を į¤ē し ãĻ い る å ´ 合 は 、 mbrtowc () é–ĸ 数 は (size_t) -1 を čŋ” し 、 errno ãĢ EILSEQ を ã‚ģ ッ ト し 、 *ps は æœĒ 厚 įžŠ įŠļ 態 ぎ ぞ ぞ ãĢ す る 。 さ も ãĒ け れ ば 、 mbrtowc () é–ĸ 数 は *ps を 初 期 įŠļ 態 ãĢ し ãĻ 0 を čŋ” す 。

上 記 ぎ 全 ãĻ ぎ å ´ 合 ãĢ お い ãĻ 、 ps が NULL ãĒ ら ば äģŖ ã‚ り ãĢ mbrtowc () é–ĸ 数 ぎ ãŋ が äŊŋ ᔍ す る 静 įš„ で 名 前 ぎ ãĒ い įŠļ 態 が äŊŋ ᔍ さ れ る 。 さ も ãĒ け れ ば 、 *ps は 有 劚 ãĒ mbstate_t ã‚Ē ブ ジ ェ ク ト で ãĒ け れ ば ãĒ ら ãĒ い 。 mbstate_t ã‚Ē ブ ジ ェ ク ト で あ る a は ã‚ŧ ロ で 埋 め る こ と ãĢ よ ãŖ ãĻ 初 期 įŠļ 態 ãĢ 初 期 化 で き る 。 äģĨ 下 ãĢ 例 を į¤ē す 。

memset(&a, 0, sizeof(a));

čŋ” り 値

L'\0' äģĨ 外 ぎ ワ イ ド 文 字 を čĒ 識 し た å ´ 合 ãĢ は mbrtowc () é–ĸ 数 は s か ら 始 ぞ る マ ãƒĢ チ バ イ ト 列 か ら č§Ŗ 析 し た バ イ ト 数 を čŋ” す 。 L'\0' ワ イ ド 文 字 を čĒ 識 し た å ´ 合 ãĢ は 0 を čŋ” す 。 不 æ­Ŗ ãĒ マ ãƒĢ チ バ イ ト 列 ãĢ 遭 遇 し た å ´ 合 ãĢ は (size_t) -1 を čŋ” し 、 errno ãĢ EILSEQ を 設 厚 す る 。 厌 全 ãĒ マ ãƒĢ チ バ イ ト 文 字 を č§Ŗ 析 で き ãĒ か ãŖ た å ´ 合 ãĢ は (size_t) -2 を čŋ” し n を åĸ— 加 さ せ る åŋ… čρ が あ る こ と を į¤ē す 。

åąž 性

こ ぎ ᝀ で äŊŋ ᔍ さ れ ãĻ い る ᔍ čĒž ぎ čĒŦ 明 ãĢ つ い ãĻ は 、 attributes (7) を 参 į…§ 。

Image grohtml-44010-1.png

æē– 拠

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

æŗ¨ 意

mbrtowc () ぎ 動 äŊœ は įž 在 ぎ ロ ã‚ą ãƒŧ ãƒĢ ぎ LC_CTYPE ã‚Ģ テ ゴ ãƒĒ ãƒŧ ãĢ 䞝 存 し ãĻ い る 。

é–ĸ 逪 項 į›Ž

mbsinit (3), mbsrtowcs (3)

こ ぎ 文 書 ãĢ つ い ãĻ

こ ぎ man ペ ãƒŧ ジ は Linux man-pages プ ロ ジ ェ ク ト ぎ ãƒĒ ãƒĒ ãƒŧ ゚ 5.10 ぎ 一 部 で あ る 。 プ ロ ジ ェ ク ト ぎ čĒŦ 明 と バ グ å ą 告 ãĢ é–ĸ す る 情 å ą は https://www.kernel.org/doc/man-pages/ ãĢ 書 か れ ãĻ い る 。