arrow 若葉プログラミング塾 > 知識の玉手箱 > C関数リファレンス >
mbtowc()
mbtowc()

この関数の目的

mbtowc()は、複バイト文字をワイド文字に変換する。 この関数は複バイト文字関数である。

定義

	#include <stdlib.h>
	int mbtowc(wchar_t *pwc, const char *s, size_t n);

働き

s がヌルポインタでなければ、この関数は s が指す複バイト文字のバイト数を決定する。 次に、複バイト文字に相当する wchar_t で表す文字コードを決定する。(ヌル文字に相当する文字コードは0である。) 複バイト文字が認識可能で、 pwc がヌルポインタでなければ、 pwc が指すオブジェクトにその文字コードが格納される。 s が指す配列の最大 n バイトまでが吟味される。

処理系は、どのライブラリ関数も mbtowc() を呼ばないように動作しなければならない。

返り値は、s がヌルポインタである場合、状態依存の符号化を持つか持たないかで非ゼロかゼロが返る。 s がヌルポインタでない場合、( s がヌル文字を指す時) 0か、 ( n 以下のバイト数で正しい複バイト文字が形成される時)複バイト文字内のバイト数を返すか、 (複バイト文字として認識されない時)-1を返す。

返り値は nMB_CUR_MAX マクロの値より大きくなることはない。

解説

mbtowc は MultiByte TO WideChar の略であろう。

arrow 若葉プログラミング塾 > 知識の玉手箱 > C関数リファレンス >
KC