OSDN Git Service

Import LDP_man-pages from https://scm.osdn.net/gitroot/linuxjm/LDP_man-pages.git
[linuxjm/jm.git] / manual / LDP_man-pages / draft / man3 / mbrlen.3
diff --git a/manual/LDP_man-pages/draft/man3/mbrlen.3 b/manual/LDP_man-pages/draft/man3/mbrlen.3
new file mode 100644 (file)
index 0000000..b28de7a
--- /dev/null
@@ -0,0 +1,65 @@
+.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
+.\"
+.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA)
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License, or (at your option) any later version.
+.\" %%%LICENSE_END
+.\"
+.\" References consulted:
+.\"   GNU glibc-2 source code and manual
+.\"   Dinkumware C library reference http://www.dinkumware.com/
+.\"   OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
+.\"   ISO/IEC 9899:1999
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1999 HANATAKA Shinya
+.\"         all rights reserved.
+.\" Translated Tue Jan 11 00:56:19 JST 2000
+.\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\"
+.TH MBRLEN 3 2013\-06\-21 GNU "Linux Programmer's Manual"
+.SH 名前
+mbrlen \- 次のマルチバイト文字の長さをバイト数で返す
+.SH 書式
+.nf
+\fB#include <wchar.h>\fP
+.sp
+\fBsize_t mbrlen(const char *\fP\fIs\fP\fB, size_t \fP\fIn\fP\fB, mbstate_t *\fP\fIps\fP\fB);\fP
+.fi
+.SH 説明
+\fBmbrlen\fP()  関数は \fIs\fP から始まるマルチバイト文字列を 最大 \fIn\fP バイト調べて次の完全なマルチバイト文字を取り出す。
+同時にシフト状態 \fI*ps\fP を更新する。 マルチバイト文字がナルワイド文字でなければ \fIs\fP から
+消費するバイト数を返す。ナルワイド文字ならばシフト状態 \fI*ps\fP を 初期状態に戻して、0 を返す。
+.PP
+\fIs\fP から始まる \fIn\fP バイトの文字列が完全なマルチバイト文字を含んで いない場合には \fBmbrlen\fP()  は \fI(size_t)\ \-2\fP を返す。 マルチバイト文字列に冗長なシフトシーケンスを含まれていると \fIn\fP >= \fIMB_CUR_MAX\fP
+の時にもこのようなことが起こりえる。
+.PP
+\fIs\fP から始まるマルチバイト文字列が、次の完全な文字の前に 不正なマルチバイト列を含んでいる場合には、 \fBmbrlen\fP()  は
+\fI(size_t)\ \-1\fP を返し \fIerrno\fP に \fBEILSEQ\fP が設定される。 この場合の \fI*ps\fP への影響は未定義である。
+.PP
+\fIps\fP が NULL ならば、代りに \fBmbrlen\fP() 関数のみが使用する静的で名前のない状態が使用される。
+.SH 返り値
+ナルワイド文字以外の文字を確認した場合には、 \fBmbrlen\fP()  関数は \fIs\fP から始まるマルチバイト列から使用したバイト数を返す。
+ナルワイド文字が確認された場合にはゼロを返す。 不正なマルチバイト列に遭遇した場合には \fI(size_t)\ \-1\fP を返し \fIerrno\fP に
+\fBEILSEQ\fP を設定する。 完全なマルチバイト文字を解析できなかった場合には \fI(size_t)\ \-2\fP を返す。 これは \fIn\fP
+を増さなければならないことを意味する。
+.SH 属性
+.SS "マルチスレッディング (pthreads(7) 参照)"
+\fBmbrlen\fP() 関数は、例外付きのスレッドセーフである。 \fIps\fP パラメーターが NULL で呼び出された場合はスレッドセーフではない。
+.SH 準拠
+C99.
+.SH 注意
+\fBmbrlen\fP()  の動作は現在のロケールの \fBLC_CTYPE\fP カテゴリーに依存している。
+.SH 関連項目
+\fBmbrtowc\fP(3)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。