wctomb -
ワイド文字をマルチバイト列に変換する。
#include <stdlib.h>
int wctomb(char *s, wchar_t wc);
s が NULL でなければ、
wctomb()
関数はワイド文字
wc
を
マルチバイト表現に変換して
s
の指す文字配列に格納する。
同時に wctomb
関数のみが使用する静的で名前のないシフト状態を更新する。
この関数はマルチバイト表現の長さ、すなわち
s に書き込まれた
バイト数を返す。
プログラマーは
s
に少なくとも
MB_CUR_MAX
バイトの空きがあることを保証しなければならない。
s が NULL ならば、
wctomb()
関数は自分のみが使用するシフト状態を
初期状態に戻して、文字符号がシフト状態に依存しているならばゼロ以外を
シフト状態に依存しない場合にはゼロを返す。
s が NULL でない場合
wctomb()
関数はバイト配列
s
に
書き込まれたバイト数を返す。
wc
が(現在のロケールにおいて)
マルチバイト列で表現できない場合には
-1 を返す。
s が NULL の場合
wctomb()
関数は文字符号がシフト状態に
依存している場合にはゼロ以外、シフト状態に依存しない場合はゼロを返す。
この節で使用されている用語の説明については、
attributes(7) を参照。
インターフェース |
属性 |
値 |
wctomb() |
Thread safety |
MT-Unsafe race |
POSIX.1-2001, POSIX.1-2008, C99.
wctomb()
関数の動作は現在のロケールの
LC_CTYPE
カテゴリーに依存している。
wcrtomb(3)
関数は同じ機能のより良いインターフェースを提供する。
MB_CUR_MAX(3),
mblen(3),
mbstowcs(3),
mbtowc(3),
wcrtomb(3),
wcstombs(3)
この man ページは Linux
man-pages
プロジェクトのリリース
5.10
の一部である。プロジェクトの説明とバグ報告に関する情報は
https://www.kernel.org/doc/man-pages/
に書かれている。