MBTOWC
Section: Linux Programmer's Manual (3)
Updated: 2001-07-04
Index
JM Home Page
roff page
名前
mbtowc - マルチバイト列をワイド文字に変換する
書式
#include <stdlib.h>
int mbtowc(wchar_t *pwc, const char *s, size_t n);
説明
この関数が用いられる場合、通常 s が NULL でなく pwc も NULL
でない。この場合は
mbtowc()
関数は s から始まる
最大 n バイトのマルチバイト文字列を検査して、次の完全なマルチバイト
文字を取り出し、それをワイド文字に変換して *pwc に格納する。
同時に mbtowc 関数のみが使用する内部状態を更新する。s が '\0'
以外のバイトを指している場合は、s から消費するバイト数を返す。
s が '\0' を指している場合には 0 を返す。
s から始まる n バイトが完全なマルチバイト文字を含んで
いない場合や不正なマルチバイト列を含んでいる場合には
mbtowc()
は
-1 を返す。マルチバイト文字列に冗長なシフトシーケンスが
含まれていると n >= MB_CUR_MAX の場合もこのようなことが
起こりえる。
s が NULL でなく pwc が NULL の場合は
mbtowc()
関数は
上記と同様に動作するが、変換したワイド文字はメモリには書き込まれない。
三番目の場合として s が NULL の場合は pwc と n は
無視される。
mbtowc()
関数のみが使用するシフト状態は初期状態に
戻される。そして文字符号がシフト状態に依存するならばゼロ以外を、文字符号が
状態によらないならばゼロを返す。
返り値
s が NULL でなければ
mbtowc()
関数は s から消費した
バイト数を、s がナル文字を指している場合はゼロを、
変換に失敗した場合は -1 を返す。
s が NULL ならば
mbtowc()
関数は文字符号がシフト状態に依存
していればゼロ以外を、状態によらなければゼロを返す。
準拠
C99
注意
mbtowc()
の動作は現在のロケールの
LC_CTYPE
カテゴリに依存している。
この関数はマルチスレッドでは安全ではない。
mbrtowc(3)
関数は
同じ機能のより良いインターフェースを提供する。
関連項目
MB_CUR_MAX(3),
mbrtowc(3),
mbstowcs(3)
Index
- 名前
-
- 書式
-
- 説明
-
- 返り値
-
- 準拠
-
- 注意
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 04:31:51 GMT, November 19, 2007