この関数の目的
wctomb()は、ワイド文字を複バイト文字に変換する。 この関数は複バイト文字関数である。
定義
#include <stdlib.h> int wctomb(char *s, wchar_t wchar);
働き
この関数は wchar の値のワイド文字に対応する複バイト文字(シフト状態の変化を含む)を決定する。
対応する複バイト文字は( s がヌルポインタでなければ) s が指す配列オブジェクトに格納される。
最大で MB_CUR_MAX
文字が格納される。 wchar の値がゼロなら、シフト状態は初期に戻る。
処理系は、どのライブラリ関数も mbtowc() を呼ばないように動作しなければならない。
返り値は、s がヌルポインタである場合、状態依存の符号化を持つか持たないかで非ゼロかゼロが返る s がヌルポインタでない場合、 wchar の値に対応する認識可能な複バイト文字がなければ-1、 対応するものがあればその複バイト文字に含まれるバイト数である。
返り値は MB_CUR_MAX
マクロの値より大きくなることはない。
解説
wctomb は WideChar TO MultiByte の略であろう。