日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
目次 | 索引 |
ワイド文字のシーケンスを,対応するマルチバイト文字のシーケンスに変換します。
#include <wchar.h>関数バリアント wcsrtombs関数は,それぞれ 32 ビットと 64 ビットのポインタ・サイズで使用するための _wcsrtombs32と _wcsrtombs64という名前のバリアントを持っています。ポインタ・サイズ固有の関数の使用方法については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.9 節を参照してください。size_t wcsrtombs (char *dst, const wchar_t **src, size_t len, mbstate_t *ps);
dst
変換されたマルチバイト文字シーケンスのためのデスティネーション配列へのポインタ。src
変換するワイド文字のシーケンスを含んだ配列へのポインタのアドレス。len
dst がポイントする配列に格納できるバイト数の最大値。ps
mbstate_tオブジェクトへのポインタ。NULL ポインタが指定された場合,関数は内部の mbstate_tオブジェクトを使用します。 mbstate_tは,状態依存のコードセットの変換状態を保持することを目的とする不透明のデータ型です。
wcsrtombs関数は,src が間接的にポイントする配列の中のワイド文字のシーケンスを,ps がポイントするオブジェクトによって記述される変換状態を出発点として,対応するマルチバイト文字のシーケンスに変換します。dst が NULL ポインタでない場合,変換された文字は dst がポイントする配列に格納されます。変換は終端の null ワイド文字まで続けられ,その null ワイド文字も格納されます。
変換は次の 2 つの場合に停止します。
- 有効なマルチバイト文字に対応しないコードに達した
- dst が NULL ポインタでなく,次のマルチバイト文字を格納したときに, dst がポイントする配列に格納できる合計の len バイトの上限を超える場合
個々の変換は, wcrtomb関数を呼び出したかのように実行されます。
dst が NULL ポインタでない場合,src がポイントするポインタ・オブジェクトには,NULL ポインタ (終端の null ワイド文字に達したために変換が停止した場合) か,変換された最後のワイド文字の直後のアドレス (存在する場合) が代入されます。終端の null ワイド文字に達したために変換が終了した場合,記述される結果の状態は初期変換状態です。
dst に NULL ポインタを指定して, wcsrtombs関数をカウント関数として呼び出した場合,内部の mbstate_tオブジェクトの値は変更されません。
wcrtombも参照してください。
x 結果として得られる配列に格納されたバイト数。終端の null は (存在していても) 含みません。 -1 エンコーディング・エラーを示します。有効なマルチバイト文字に対応しない文字が検出されました。 errno は EILSEQ に設定されます。変換状態は未定義です。
目次 | 索引 |
|