EN JA
MBTOWC(3)
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 を返します。シフト状態が要求されたなら、シフト状態は初期状態にリセットされます。

戻り値

mbcharNULL であるなら、 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