OSDN Git Service

(split) LDP: Update the version to 3.53 in PO files
[linuxjm/LDP_man-pages.git] / draft / man3 / mbtowc.3
1 .\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
2 .\"
3 .\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA)
4 .\" This is free documentation; you can redistribute it and/or
5 .\" modify it under the terms of the GNU General Public License as
6 .\" published by the Free Software Foundation; either version 2 of
7 .\" the License, or (at your option) any later version.
8 .\" %%%LICENSE_END
9 .\"
10 .\" References consulted:
11 .\"   GNU glibc-2 source code and manual
12 .\"   Dinkumware C library reference http://www.dinkumware.com/
13 .\"   OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
14 .\"   ISO/IEC 9899:1999
15 .\"
16 .\"*******************************************************************
17 .\"
18 .\" This file was generated with po4a. Translate the source file.
19 .\"
20 .\"*******************************************************************
21 .TH MBTOWC 3 2011\-09\-28 GNU "Linux Programmer's Manual"
22 .SH 名前
23 mbtowc \- マルチバイト列をワイド文字に変換する
24 .SH 書式
25 .nf
26 \fB#include <stdlib.h>\fP
27 .sp
28 \fBint mbtowc(wchar_t *\fP\fIpwc\fP\fB, const char *\fP\fIs\fP\fB, size_t \fP\fIn\fP\fB);\fP
29 .fi
30 .SH 説明
31 この関数が用いられる場合、通常 \fIs\fP が NULL でなく \fIpwc\fP も NULL でない。この場合は \fBmbtowc\fP()  関数は
32 \fIs\fP から始まる 最大 \fIn\fP バイトのマルチバイト文字列を検査して、次の完全なマルチバイト 文字を取り出し、それをワイド文字に変換して
33 \fI*pwc\fP に格納する。 同時に mbtowc 関数のみが使用する内部状態を更新する。\fIs\fP が NULL バイト (\(aq\e0\(aq)
34 以外を指している場合は、\fIs\fP から消費するバイト数を返す。 \fIs\fP が NULL バイトを指している場合には 0 を返す。
35 .PP
36 \fIs\fP から始まる \fIn\fP バイトが完全なマルチバイト文字を含んで いない場合や不正なマルチバイト列を含んでいる場合には \fBmbtowc\fP()
37 は \-1 を返す。マルチバイト文字列に冗長なシフトシーケンスが 含まれていると \fIn\fP >= \fIMB_CUR_MAX\fP
38 の場合もこのようなことが 起こりえる。
39 .PP
40 \fIs\fP が NULL でなく \fIpwc\fP が NULL の場合は \fBmbtowc\fP()  関数は
41 上記と同様に動作するが、変換したワイド文字はメモリには書き込まれない。
42 .PP
43 .\" The Dinkumware doc and the Single UNIX specification say this, but
44 .\" glibc doesn't implement this.
45 三番目の場合として \fIs\fP が NULL の場合は \fIpwc\fP と \fIn\fP は 無視される。 \fBmbtowc\fP()
46 関数のみが使用するシフト状態は初期状態に 戻される。そして文字符号がシフト状態に依存するならばゼロ以外を、文字符号が 状態によらないならばゼロを返す。
47 .SH 返り値
48 \fIs\fP が NULL でなければ \fBmbtowc\fP()  関数は \fIs\fP から消費した バイト数を、\fIs\fP がナル文字を指している場合はゼロを、
49 変換に失敗した場合は \-1 を返す。
50 .PP
51 \fIs\fP が NULL ならば \fBmbtowc\fP()  関数は文字符号がシフト状態に依存 していればゼロ以外を、状態によらなければゼロを返す。
52 .SH 準拠
53 C99.
54 .SH 注意
55 \fBmbtowc\fP()  の動作は現在のロケールの \fBLC_CTYPE\fP カテゴリに依存している。
56 .PP
57 この関数はマルチスレッドでは安全ではない。 \fBmbrtowc\fP(3)  関数は 同じ機能のより良いインターフェースを提供する。
58 .SH 関連項目
59 \fBMB_CUR_MAX\fP(3), \fBmbrtowc\fP(3), \fBmbstowcs\fP(3)
60 .SH この文書について
61 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.53 の一部
62 である。プロジェクトの説明とバグ報告に関する情報は
63 http://www.kernel.org/doc/man\-pages/ に書かれている。