この関数の目的
mbstowcs()は、複バイト文字列をワイド文字列に変換する。
定義
#include <stdlib.h> int mbstowcs(wchar_t *pwcs, const char *s, size_t n);
働き
この関数は s が指す、初期シフト状態で始まる複バイト文字の連続を対応する n 以下のコードとして pwcs の指す配列オブジェクトに格納する。 (ゼロに変換される)ヌル文字以降の複バイト文字は吟味されることも、変換されることもない。 各複バイト文字は、関数のシフト状態が変わらないことを除けば、 mbtowc() の呼び出しによって変換されたかのように変換される。
pwcs が指す配列オブジェクトの n 以前の要素は変更される。 重複するオブジェクトの間で複写が行われた時の動作は未定義である。
返り値は、認識不可能な複バイト文字に出くわした場合は (size_t)-1
である。
そうでなければ、(存在すれば*)終端ゼロコードを除いた、変更された配列の要素数を返す。
(*) 配列は返り値が n である場合にはゼロ止めされない。
解説
mbstowcs は MultiByte String TO WideChar String の略であろう。