MBTOWC(3) | FreeBSD Library Functions Manual | MBTOWC(3) |
名称
mbtowc — 文字をワイド文字コードに変換するライブラリ
Standard C Library (libc, -lc)書式
#include < stdlib.h> int
mbtowc( wchar_t * restrict wcharp, const char * restrict mbchar, size_t nbytes);
解説
mbtowc() 関数はマルチバイト文字 mbchar を現在の変換状態に従ってワイド文字に変換し、結果を wcharp が指すオブジェクトに格納します。 nbytes バイトまで検査されます。現在のエンコード (コード化) がシフト状態を要求するなら、NULL の mbchar ポインタでの呼び出しは 0 以外を返し、そうでなければ、0 を返します。シフト状態が要求されたなら、シフト状態は初期状態にリセットされます。
戻り値
mbchar が NULL であるなら、 mbtowc() 関数は、シフト状態がサポートされている場合は 0 以外を返し、そうでなければ、0 を返します。そうでければ、 mbchar が NULL ポインタでないなら、 mbtowc() は mbchar がヌルワイド文字を表現しているなら 0 を返すか、 mbchar で処理されたバイト数を返します。マルチバイト文字を認識できないか変換できない場合は-1 を返します。この場合、 mbtowc() の内部の変換状態は未定義です。
エラー
mbtowc() 関数は、次の場合に失敗します:- [ EILSEQ]
- 無効のマルチバイトシーケンスが検出されました。
- [ EINVAL]
- 内部の変換状態は無効です。
規格
mbtowc() 関数は、 ISO/IEC 9899:1999 (“ISO C99”) に適合しています。April 11, 2004 | FreeBSD |