名前 | 形式 | 機能説明 | 戻り値 | エラー | 属性 | 関連項目
#include <stdlib.h>size_t wcstombs(char *s, const wchar_t *pwcs, size_t n);
wcstombs() 関数は、pwcs が示す配列からのワイド文字コードのシーケンスを、複数バイト文字のシーケンスに変換し、これらの複数バイト文字を s が示す配列に格納します。この場合、複数バイト文字が合計 n バイトの限度を超えるか、NULL バイトが格納されると停止します。それぞれのワイド文字コードは wctomb(3C) への呼び出しによる変換と同じように変換されます。
この関数の動作は、現在のロケールの LC_CTYPE カテゴリに影響を受けます。
n バイト以下の場合は、s によって示された配列に修正されます。コピーが、オーバーラップするオブジェクト間で行われた場合には、動作は定義されません。s が NULL ポインタである場合、wcstombs() は、n の値にかかわらず、配列全体を変換するために必要な長さを返します。格納される値はありません。
有効な複数バイト文字に対応していないワイド文字コードが検出されると、wcstombs() は (size_t)–1 を返します。それ以外の場合は、wcstombs() は終了 NULL バイトを数えずに、格納されたバイトの数を返します。戻り値が n の場合、配列は NULL 終了にはなりません。
次の属性については attributes(5) のマニュアルページを参照してください。
属性タイプ | 属性値 |
---|---|
MT レベル | MT-Safe |
CSI | 対応済み |