|
≫ |
|
|
|
HP OpenVMS HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)
ワイド文字をそのマルチバイト文字表現に変換します。
形式
#include <wchar.h>
size_t wcrtomb (char *s, wchar_t wc, mbstate_t *ps);
引数
s結果として得られるマルチバイト文字へのポインタ。
wcワイド文字。
ps
mbstate_tオブジェクトへのポインタ。 NULL ポインタが指定された場合,関数は内部の
mbstate_tオブジェクトを使用します。
mbstate_tは,状態依存のコードセットの変換状態を保持することを目的とする不透明のデータ型です。
説明
s が NULL ポインタである場合,
wcrtomb関数は次の呼び出しと等価です。
buf は内部バッファです。
s が NULL ポインタでない場合,
wcrtomb関数は, wc が指定するワイド文字 (シフト・シーケンスを含む) に対応するマルチバイト文字を表現するために必要なバイト数を決定し,結果として得られたバイトを,第 1 要素が s によってポイントされている配列に格納します。格納されるのは最高
MB_CUR_MAXバイトです。
wc が null ワイド文字である場合には,初期シフト状態を復元するために必要なシフト・シーケンスの後に null バイトが格納されます。結果として記述される状態は,初期変換状態です。
戻り値
n
|
マルチバイト文字を表現するためのシフト・シーケンスを含む,結果の配列に格納されたバイト数。
|
-1
|
エンコーディング・エラーを示します。
wc 引数は有効なワイド文字ではありません。グローバルな
errno
は
EILSEQ
に設定されます。変換状態は未定義です。
|
|