C言語の標準ライブラリwcrtombのリファレンスです。
概要 | ワイド文字を多バイト文字に変換する。 |
ヘッダ | #include <wchar.h> |
I/F | size_t wcrtomb(char * restrict s, wchar_t wc, mbstate_t * restrict ps); |
戻り値 | 配列オブジェクトに格納したバイト数(シフトシーケンスを含める)。wcが正しいワイド文字でない場合は-1。 |
詳細 | wcrtomb関数は、sが空ポインタならば、wcrtomb(buf, L'\0', ps)と同じである(bufは内部バッファ)。sが空ポインタでないならば、wcrtomb関数は、ワイド文字wcに対応する多バイト文字を表現するために必要とする、シフトシーケンスを含めたバイト数を計算し、配列sにその多バイト表現を格納する。格納するバイト数はMB_CUR_MAXバイト以下である。wcがナルワイド文字ならば、ナル文字を格納する。この場合、必要なら初期シフト状態に戻すためのシフトシーケンスをその前に格納する。wcがナルワイド文字の場合の結果の状態は、初期変換状態とする。wcが正しいワイド文字でないならば、表現形式エラー発生となり、errnoにEILSEQを格納し、-1を返却する。変換状態は未規定である。 |