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