Man page - wcstombs(3)

Packages contains this manual

Available languages:

en fr es ja ru ro de

Manual

WCSTOMBS

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

名 前

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

書 式

#include <stdlib.h>

size_t wcstombs(char * dest , const wchar_t * src , size_t n );

説 明

If dest is not NULL, the wcstombs () function converts the wide-character string src to a multibyte string starting at dest . At most n bytes are written to dest . The sequence of characters placed in dest begins in the initial shift state. The conversion can stop for three reasons:

1.

(現 在 の ロ ケ ー ル に お け る )マ ル チ バ イ ト 列 で 表 現 で き な い ワ イ ド 文 字 に 遭 遇 し た 場 合 。 こ の 場 合 に は (size_t) -1 が 返 さ れ る 。

2.

長 さ 制 限 に よ っ て 強 制 停 止 さ せ ら れ た 場 合 。 こ の 場 合 に は dest に 書 き 込 ま れ た バ イ ト 数 が 返 さ れ る 。 し か し こ の 時 点 で の シ フ ト 状 態 は 失 わ れ る 。

3.

ワ イ ド 文 字 列 が 終 端 の ヌ ル ワ イ ド 文 字 (L'\0') を 含 め て 完 全 に 変 換 さ れ た 場 合 。 こ の 場 合 に は 変 換 は 初 期 シ フ ト 状 態 で 終 了 し 、 dest に 書 き 込 ま れ た バ イ ト 数 を 返 す (終 端 の ヌ ル バ イ ト ('\0') は 含 ま れ な い )。

プ ロ グ ラ マ ー は dest に 最 低 で も n バ イ ト の 空 き が あ る こ と を 保 証 し な け れ ば な ら な い 。

dest が NULL の 場 合 、 n は 無 視 さ れ る 。 上 記 と 同 様 に 変 換 が 行 な わ れ る が 変 換 結 果 の バ イ ト 列 は メ モ リ ー に は 書 き 込 ま れ な い 。 ま た 長 さ の 上 限 が 存 在 し な い 。

上 記 の 2. の 場 合 を 避 け る た め に 、 プ ロ グ ラ マ ー は n wcstombs(NULL,src,0)+1 以 上 で あ る こ と を 保 証 し な け れ ば な ら な い 。

返 り 値

wcstombs () 関 数 は 生 成 し た マ ル チ バ イ ト 列 の バ イ ト 数 を 返 す 。 終 端 の ヌ ル 文 字 は 含 ま な い 。 も し 変 換 で き な い ワ イ ド 文 字 に 遭 遇 し た 場 合 に は (size_t) -1 を 返 す 。

属 性

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

Image grohtml-44081-1.png

準 拠

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

注 意

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

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

関 連 項 目

mblen (3), mbstowcs (3), mbtowc (3), wcsrtombs (3), wctomb (3)

こ の 文 書 に つ い て

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