OSDN Git Service

140f47bbac4ad9df3a79579947abb4afe175253f
[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 ATTRIBUTES
48 .SS "Multithreading (see pthreads(7))"
49 The \fBmbrlen\fP()  function is thread\-safe with exceptions.  It is not
50 thread\-safe if called with a NULL \fIps\fP parameter.
51 .SH 準拠
52 C99.
53 .SH 注意
54 \fBmbrlen\fP()  の動作は現在のロケールの \fBLC_CTYPE\fP カテゴリに依存している。
55 .SH 関連項目
56 \fBmbrtowc\fP(3)
57 .SH この文書について
58 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.52 の一部
59 である。プロジェクトの説明とバグ報告に関する情報は
60 http://www.kernel.org/doc/man\-pages/ に書かれている。