OSDN Git Service

Update draft pages
[linuxjm/LDP_man-pages.git] / draft / man3 / mbrtowc.3
index 3d2953c..23d5a4c 100644 (file)
@@ -1,9 +1,11 @@
 .\" 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
 .\"      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:16 JST 2000
 .\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
 .\" Updated Thu Dec 13 JST 2001 by Kentaro Shirakata <argrath@ub32.org>
 .\"
-.TH MBRTOWC 3  2011-09-28 "GNU" "Linux Programmer's Manual"
-.\"O .SH NAME
-.SH Ì¾Á°
-.\"O mbrtowc \- convert a multibyte sequence to a wide character
-mbrtowc \- ¥Þ¥ë¥Á¥Ð¥¤¥ÈÎó¤ò¥ï¥¤¥Éʸ»ú¤ËÊÑ´¹¤¹¤ë
-.\"O .SH SYNOPSIS
-.SH ½ñ¼°
+.TH MBRTOWC 3 2014\-03\-18 GNU "Linux Programmer's Manual"
+.SH 名前
+mbrtowc \- マルチバイト列をワイド文字に変換する
+.SH 書式
 .nf
-.B #include <wchar.h>
+\fB#include <wchar.h>\fP
 .sp
-.BI "size_t mbrtowc(wchar_t *" pwc ", const char *" s ", size_t " n \
-", mbstate_t *" ps );
+\fBsize_t mbrtowc(wchar_t *\fP\fIpwc\fP\fB, const char *\fP\fIs\fP\fB, size_t \fP\fIn\fP\fB, mbstate_t *\fP\fIps\fP\fB);\fP
 .fi
-.\"O .SH DESCRIPTION
-.SH ÀâÌÀ
-.\"O The main case for this function is when \fIs\fP is not NULL and \fIpwc\fP is
-.\"O not NULL.
-.\"O In this case, the
-.\"O .BR mbrtowc ()
-.\"O function inspects at most \fIn\fP
-.\"O bytes of the multibyte string starting at \fIs\fP, extracts the next complete
-.\"O multibyte character, converts it to a wide character and stores it at
-.\"O \fI*pwc\fP.
-.\"O It updates the shift state \fI*ps\fP.
-.\"O If the converted wide
-.\"O- character is not L\(aq\\0\(aq, it returns the number of bytes that were consumed
-.\"O+ character is not L\(aq\\0\(aq (the null wide character),
-.\"O+ it returns the number of bytes that were consumed
-.\"O from \fIs\fP.
-.\"O If the converted wide character is L\(aq\\0\(aq, it resets the shift
-.\"O state \fI*ps\fP to the initial state and returns 0.
-¤³¤Î´Ø¿ô¤¬ÍѤ¤¤é¤ì¤ë¾ì¹ç¡¢Ä̾ï \fIs\fP ¤¬ NULL ¤Ç¤Ê¤¯ \fIpwc\fP ¤â NULL ¤Ç
-¤Ê¤¤¡£¤³¤Î¾ì¹ç¤Ï¡¢
-.BR mbrtowc ()
-´Ø¿ô¤Ï \fIs\fP ¤«¤é»Ï¤Þ¤ëºÇÂç \fIn\fP ¥Ð¥¤¥È¤Î
-¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»ú¤ò¸¡ºº¤·¤Æ¡¢¼¡¤Î´°Á´¤Ê¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»úÎó¤ò¼è¤ê½Ð¤·¡¢
-¤½¤ì¤ò¥ï¥¤¥Éʸ»ú¤ËÊÑ´¹¤·¤Æ \fI*pwc\fP ¤Ë³ÊǼ¤¹¤ë¡£
-Ʊ»þ¤Ë¥·¥Õ¥È¾õÂÖ \fI*ps\fP ¤ò¹¹¿·¤¹¤ë¡£
-ÊÑ´¹¤·¤¿¥ï¥¤¥Éʸ»ú¤¬ L\(aq\\0\(aq (NULL ¥ï¥¤¥Éʸ»ú) ¤Ç¤Ê¤±¤ì¤Ð¡¢
-\fIs\fP ¤«¤é¾ÃÈñ¤¹¤ë¥Ð¥¤¥È¿ô¤òÊÖ¤¹¡£
-ÊÑ´¹¤·¤¿¥ï¥¤¥Éʸ»ú¤¬ L\(aq\\0\(aq ¤Î¾ì¹ç¤Ë¤Ï¥·¥Õ¥È¾õÂÖ \fI*ps\fP ¤ò
-½é´ü¾õÂÖ¤ËÌᤷ¤Æ 0 ¤òÊÖ¤¹¡£
+.SH 説明
+この関数が用いられる場合、通常 \fIs\fP が NULL でなく \fIpwc\fP も NULL で ない。この場合は、 \fBmbrtowc\fP()  関数は
+\fIs\fP から始まる最大 \fIn\fP バイトの マルチバイト文字を検査して、次の完全なマルチバイト文字列を取り出し、 それをワイド文字に変換して
+\fI*pwc\fP に格納する。 同時にシフト状態 \fI*ps\fP を更新する。 変換したワイド文字が L\(aq\e0\(aq (ヌルワイド文字)
+でなければ、 \fIs\fP から消費するバイト数を返す。 変換したワイド文字が L\(aq\e0\(aq の場合にはシフト状態 \fI*ps\fP を
+初期状態に戻して 0 を返す。
 .PP
-.\"O If the \fIn\fP bytes starting at \fIs\fP do not contain a complete multibyte
-.\"O character,
-.\"O .BR mbrtowc ()
-.\"O returns \fI(size_t)\ \-2\fP.
-.\"O This can happen even if
-.\"O \fIn\fP >= \fIMB_CUR_MAX\fP, if the multibyte string contains redundant shift
-.\"O sequences.
-\fIs\fP ¤«¤é»Ï¤Þ¤ë \fIn\fP ¥Ð¥¤¥È¤¬´°Á´¤Ê¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»ú¤ò´Þ¤ó¤Ç¤¤¤Ê¤¤
-¾ì¹ç¤Ë¤Ï¡¢
-.BR mbrtowc ()
-¤Ï \fI(size_t)\ \-2\fP ¤òÊÖ¤¹¡£
-¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»úÎó¤Ë¾éĹ¤Ê¥·¥Õ¥È¥·¡¼¥±¥ó¥¹¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤È¡¢
-\fIn\fP >= \fIMB_CUR_MAX\fP ¤Î»þ¤Ë¤â¤³¤Î¤è¤¦¤Ê¤³¤È¤¬µ¯¤³¤ê¤¨¤ë¡£
+\fIs\fP から始まる \fIn\fP バイトが完全なマルチバイト文字を含んでいない 場合には、 \fBmbrtowc\fP()  は \fI(size_t)\ \-2\fP
+を返す。 マルチバイト文字列に冗長なシフトシーケンスが含まれていると、 \fIn\fP >= \fIMB_CUR_MAX\fP
+の時にもこのようなことが起こりえる。
 .PP
-.\"O If the multibyte string starting at \fIs\fP contains an invalid multibyte
-.\"O sequence before the next complete character,
-.\"O .BR mbrtowc ()
-.\"O returns
-.\"O \fI(size_t)\ \-1\fP and sets \fIerrno\fP to \fBEILSEQ\fP.
-.\"O In this case,
-.\"O the effects on \fI*ps\fP are undefined.
-\fIs\fP ¤«¤é»Ï¤Þ¤ë¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»úÎ󤬡¢¼¡¤Î´°Á´¤Êʸ»ú¤ÎÁ°¤Ë
-ÉÔÀµ¤Ê¥Þ¥ë¥Á¥Ð¥¤¥ÈÎó¤ò´Þ¤ó¤Ç¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢
-.BR mbrtowc ()
-¤Ï
-\fI(size_t)\ \-1\fP ¤òÊÖ¤·¡¢\fIerrno\fP ¤Ë \fBEILSEQ\fP ¤òÀßÄꤹ¤ë¡£
-¤³¤Î¾ì¹ç¤Ï \fI*ps\fP ¤Ø¤Î±Æ¶Á¤Ï̤ÄêµÁ¤Ç¤¢¤ë¡£
+\fIs\fP から始まるマルチバイト文字列が、次の完全な文字の前に 不正なマルチバイト列を含んでいる場合には、 \fBmbrtowc\fP()  は
+\fI(size_t)\ \-1\fP を返し、\fIerrno\fP に \fBEILSEQ\fP を設定する。 この場合は \fI*ps\fP への影響は未定義である。
 .PP
-.\"O A different case is when \fIs\fP is not NULL but \fIpwc\fP is NULL.
-.\"O In this
-.\"O case the
-.\"O .BR mbrtowc ()
-.\"O function behaves as above, except that it does not
-.\"O store the converted wide character in memory.
-\fIs\fP ¤¬ NULL ¤Ç¤Ê¤¯ \fIpwc\fP ¤¬ NULL ¤Î¾ì¹ç¤Ï
-.BR mbrtowc ()
-´Ø¿ô¤Ï
-¾åµ­¤ÈƱÍͤËÆ°ºî¤¹¤ë¤¬¡¢ÊÑ´¹¤·¤¿¥ï¥¤¥Éʸ»ú¤Ï¥á¥â¥ê¤Ë¤Ï½ñ¤­¹þ¤Þ¤ì¤Ê¤¤¡£
+\fIs\fP が NULL でなく \fIpwc\fP が NULL の場合は \fBmbrtowc\fP()  関数は
+上記と同様に動作するが、変換したワイド文字はメモリには書き込まれない。
 .PP
-.\"O A third case is when \fIs\fP is NULL.
-.\"O In this case, \fIpwc\fP and \fIn\fP are
-.\"O ignored.
-.\"O If the conversion state represented by \fI*ps\fP denotes an
-.\"O incomplete multibyte character conversion, the
-.\"O .BR mbrtowc ()
-.\"O function
-.\"O returns \fI(size_t)\ \-1\fP, sets \fIerrno\fP to \fBEILSEQ\fP, and
-.\"O leaves \fI*ps\fP in an undefined state.
-.\"O Otherwise, the
-.\"O .BR mbrtowc ()
-.\"O function
-puts \fI*ps\fP in the initial state and returns 0.
-»°ÈÖÌܤξì¹ç¤È¤·¤Æ \fIs\fP ¤¬ NULL ¤Î¾ì¹ç¡¢ \fIpwc\fP ¤È \fIn\fP ¤Ï
-̵»ë¤µ¤ì¤ë¡£
-\fI*ps\fP ¤¬É½¸½¤¹¤ëÊÑ´¹¾õÂÖ¤¬ÉÔ´°Á´¤Ê¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»úÊÑ´¹¤ò¼¨¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢
-.BR mbrtowc ()
-´Ø¿ô¤Ï \fI(size_t)\ \-1\fP ¤òÊÖ¤·¡¢
-\fIerrno\fP ¤Ë \fBEILSEQ\fP ¤ò¥»¥Ã¥È¤·¡¢
-\fI*ps\fP ¤Ï̤ÄêµÁ¾õÂ֤Τޤޤˤ¹¤ë¡£
-¤µ¤â¤Ê¤±¤ì¤Ð¡¢
-.BR mbrtowc ()
-´Ø¿ô¤Ï \fI*ps\fP ¤ò½é´ü¾õÂ֤ˤ·¤Æ 0 ¤òÊÖ¤¹¡£
+puts \fI*ps\fP in the initial state and returns 0.  三番目の場合として \fIs\fP が NULL の場合、
+\fIpwc\fP と \fIn\fP は 無視される。 \fI*ps\fP が表現する変換状態が不完全なマルチバイト文字変換を示している場合は、
+\fBmbrtowc\fP()  関数は \fI(size_t)\ \-1\fP を返し、 \fIerrno\fP に \fBEILSEQ\fP をセットし、 \fI*ps\fP
+は未定義状態のままにする。 さもなければ、 \fBmbrtowc\fP()  関数は \fI*ps\fP を初期状態にして 0 を返す。
 .PP
-.\"O In all of the above cases, if \fIps\fP is a NULL pointer, a static anonymous
-.\"O state only known to the mbrtowc function is used instead.
-¾åµ­¤ÎÁ´¤Æ¤Î¾ì¹ç¤Ë¤ª¤¤¤Æ¡¢\fIps\fP ¤¬ NULL ¥Ý¥¤¥ó¥¿¡¼¤Ê¤é¤ÐÂå¤ï¤ê¤Ë
-mbrtowc ´Ø¿ô¤Î¤ß¤¬»ÈÍѤ¹¤ëÀÅŪ¤Ç̾Á°¤Î¤Ê¤¤¾õÂÖ¤¬»ÈÍѤµ¤ì¤ë¡£
-.\"O Otherwise, \fI*ps\fP must be a valid \fImbstate_t\fP object.
-¤µ¤â¤Ê¤±¤ì¤Ð¡¢\fI*ps\fP ¤ÏÍ­¸ú¤Ê \fImbstate_t\fP ¥ª¥Ö¥¸¥§¥¯¥È¤Ç
-¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-.\"O An \fImbstate_t\fP object \fIa\fP can be initialized to the initial state
-.\"O by zeroing it, for example using
-\fImbstate_t\fP ¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ë \fIa\fP ¤Ï¥¼¥í¤ÇËä¤á¤ë¤³¤È¤Ë¤è¤Ã¤Æ
-½é´ü¾õÂ֤˽é´ü²½¤Ç¤­¤ë¡£°Ê²¼¤ËÎã¤ò¼¨¤¹¡£
+上記の全ての場合において、\fIps\fP が NULL ならば代わりに \fBmbrtowc\fP() 関数のみが使用する静的で名前のない状態が使用される。
+さもなければ、\fI*ps\fP は有効な \fImbstate_t\fP オブジェクトで なければならない。 \fImbstate_t\fP オブジェクトである
+\fIa\fP はゼロで埋めることによって 初期状態に初期化できる。以下に例を示す。
 .sp
 .in +4n
 memset(&a, 0, sizeof(a));
 .in
-.\"O .SH "RETURN VALUE"
-.SH ÊÖ¤êÃÍ
-.\"O The
-.\"O .BR mbrtowc ()
-.\"O function returns the number of bytes parsed from the
-.\"O multibyte sequence starting at \fIs\fP, if a non-L\(aq\\0\(aq wide character
-.\"O was recognized.
-L\(aq\\0\(aq °Ê³°¤Î¥ï¥¤¥Éʸ»ú¤òǧ¼±¤·¤¿¾ì¹ç¤Ë¤Ï
-.BR mbrtowc ()
-´Ø¿ô¤Ï \fIs\fP
-¤«¤é»Ï¤Þ¤ë¥Þ¥ë¥Á¥Ð¥¤¥ÈÎ󤫤é²òÀϤ·¤¿¥Ð¥¤¥È¿ô¤òÊÖ¤¹¡£
-.\"O It returns 0, if a L\(aq\\0\(aq wide character was recognized.
-.\"O It returns
-.\"O .I (size_t)\ \-1
-.\"O and sets \fIerrno\fP to \fBEILSEQ\fP, if an invalid multibyte sequence was
-.\"O encountered.
-.\"O It returns \fI(size_t)\ \-2\fP if it couldn't parse a complete multibyte
-.\"O character, meaning that \fIn\fP should be increased.
-L\(aq\\0\(aq ¥ï¥¤¥Éʸ»ú¤òǧ¼±¤·¤¿¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤¹¡£
-ÉÔÀµ¤Ê¥Þ¥ë¥Á¥Ð¥¤¥ÈÎó¤ËÁø¶ø¤·¤¿¾ì¹ç¤Ë¤Ï
-.I (size_t)\ \-1
-¤òÊÖ¤·¡¢
-\fIerrno\fP ¤Ë \fBEILSEQ\fP ¤òÀßÄꤹ¤ë¡£´°Á´¤Ê¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»ú¤ò
-²òÀϤǤ­¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï
-.I (size_t)\ \-2
-¤òÊÖ¤· \fIn\fP ¤òÁý²Ã¤µ¤»¤ëɬÍפ¬¤¢¤ë¤³¤È¤ò¼¨¤¹¡£
-.\"O .SH "CONFORMING TO"
-.SH ½àµò
+.SH 返り値
+L\(aq\e0\(aq 以外のワイド文字を認識した場合には \fBmbrtowc\fP()  関数は \fIs\fP
+から始まるマルチバイト列から解析したバイト数を返す。 L\(aq\e0\(aq ワイド文字を認識した場合には 0 を返す。
+不正なマルチバイト列に遭遇した場合には \fI(size_t)\ \-1\fP を返し、 \fIerrno\fP に \fBEILSEQ\fP
+を設定する。完全なマルチバイト文字を 解析できなかった場合には \fI(size_t)\ \-2\fP を返し \fIn\fP を増加させる必要があることを示す。
+.SH 属性
+.SS "マルチスレッディング (pthreads(7) 参照)"
+\fBmbrtowc\fP() 関数は、例外付きのスレッドセーフである。 \fIps\fP パラメータが NULL で呼び出された場合はスレッドセーフではない。
+.SH 準拠
 C99.
-.\"O .SH NOTES
-.SH Ãí°Õ
-.\"O The behavior of
-.\"O .BR mbrtowc ()
-.\"O depends on the
-.\"O .B LC_CTYPE
-.\"O category of the
-.\"O current locale.
-.BR mbrtowc ()
-¤ÎÆ°ºî¤Ï¸½ºß¤Î¥í¥±¡¼¥ë¤Î
-.B LC_CTYPE
-¥«¥Æ¥´¥ê¤Ë°Í¸¤·¤Æ¤¤¤ë¡£
-.\"O .SH "SEE ALSO"
-.SH ´ØÏ¢¹àÌÜ
-.BR mbsrtowcs (3)
+.SH 注意
+\fBmbrtowc\fP()  の動作は現在のロケールの \fBLC_CTYPE\fP カテゴリに依存している。
+.SH 関連項目
+\fBmbsinit\fP(3), \fBmbsrtowcs\fP(3)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.78 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。