OSDN Git Service

(split) LDP: Update the version to 3.53 in PO files
[linuxjm/LDP_man-pages.git] / draft / man3 / mbrlen.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 MBRLEN 3 2013\-06\-21 GNU "Linux Programmer's Manual"
22 .SH 名前
23 mbrlen \- 次のマルチバイト文字の長さをバイト数で返す
24 .SH 書式
25 .nf
26 \fB#include <wchar.h>\fP
27 .sp
28 \fBsize_t mbrlen(const char *\fP\fIs\fP\fB, size_t \fP\fIn\fP\fB, mbstate_t *\fP\fIps\fP\fB);\fP
29 .fi
30 .SH 説明
31 \fBmbrlen\fP()  関数は \fIs\fP から始まるマルチバイト文字列を 最大 \fIn\fP バイト調べて次の完全なマルチバイト文字を取り出す。
32 同時にシフト状態 \fI*ps\fP を更新する。 マルチバイト文字がナルワイド文字でなければ \fIs\fP から
33 消費するバイト数を返す。ナルワイド文字ならばシフト状態 \fI*ps\fP を 初期状態に戻して、0 を返す。
34 .PP
35 \fIs\fP から始まる \fIn\fP バイトの文字列が完全なマルチバイト文字を含んで いない場合には \fBmbrlen\fP()  は \fI(size_t)\ \-2\fP を返す。 マルチバイト文字列に冗長なシフトシーケンスを含まれていると \fIn\fP >= \fIMB_CUR_MAX\fP
36 の時にもこのようなことが起こりえる。
37 .PP
38 \fIs\fP から始まるマルチバイト文字列が、次の完全な文字の前に 不正なマルチバイト列を含んでいる場合には、 \fBmbrlen\fP()  は
39 \fI(size_t)\ \-1\fP を返し \fIerrno\fP に \fBEILSEQ\fP が設定される。 この場合の \fI*ps\fP への影響は未定義である。
40 .PP
41 \fIps\fP が NULL ポインターならば、代りに \fBmbrlen\fP() 関数のみが使用する静的で名前のない状態が使用される。
42 .SH 返り値
43 ナルワイド文字以外の文字を確認した場合には、 \fBmbrlen\fP()  関数は \fIs\fP から始まるマルチバイト列から使用したバイト数を返す。
44 ナルワイド文字が確認された場合にはゼロを返す。 不正なマルチバイト列に遭遇した場合には \fI(size_t)\ \-1\fP を返し \fIerrno\fP に
45 \fBEILSEQ\fP を設定する。 完全なマルチバイト文字を解析できなかった場合には \fI(size_t)\ \-2\fP を返す。 これは \fIn\fP
46 を増さなければならないことを意味する。
47 .SH 属性
48 .SS "マルチスレッディング (pthreads(7) 参照)"
49 \fBmbrlen\fP() 関数は、例外付きのスレッドセーフである。 \fIps\fP パラメータが NULL で呼び出された場合はスレッドセーフではない。
50 .SH 準拠
51 C99.
52 .SH 注意
53 \fBmbrlen\fP()  の動作は現在のロケールの \fBLC_CTYPE\fP カテゴリに依存している。
54 .SH 関連項目
55 \fBmbrtowc\fP(3)
56 .SH この文書について
57 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.53 の一部
58 である。プロジェクトの説明とバグ報告に関する情報は
59 http://www.kernel.org/doc/man\-pages/ に書かれている。