OSDN Git Service

(split) LDP: Release pages for LDP v3.39.
[linuxjm/LDP_man-pages.git] / release / man3 / mbrtowc.3
index d226f10..6a507f6 100644 (file)
@@ -8,98 +8,61 @@
 .\" References consulted:
 .\"   GNU glibc-2 source code and manual
 .\"   Dinkumware C library reference http://www.dinkumware.com/
-.\"   OpenGroup's Single Unix specification
+.\"   OpenGroup's Single UNIX specification
 .\"      http://www.UNIX-systems.org/online.html
 .\"   ISO/IEC 9899:1999
 .\"
-.\" 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  2001-11-22 "GNU" "Linux Programmer's Manual"
-.SH Ì¾Á°
-mbrtowc \- ¥Þ¥ë¥Á¥Ð¥¤¥ÈÎó¤ò¥ï¥¤¥Éʸ»ú¤ËÊÑ´¹¤¹¤ë
-.SH ½ñ¼°
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH MBRTOWC 3 2011\-09\-28 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
-.SH ÀâÌÀ
-¤³¤Î´Ø¿ô¤¬ÍѤ¤¤é¤ì¤ë¾ì¹ç¡¢Ä̾ï \fIs\fP ¤¬ NULL ¤Ç¤Ê¤¯ \fIpwc\fP ¤â NULL ¤Ç
-¤Ê¤¤¡£¤³¤Î¾ì¹ç¤Ï¡¢
-.BR mbrtowc ()
-´Ø¿ô¤Ï \fIs\fP ¤«¤é»Ï¤Þ¤ëºÇÂç \fIn\fP ¥Ð¥¤¥È¤Î
-¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»ú¤ò¸¡ºº¤·¤Æ¡¢¼¡¤Î´°Á´¤Ê¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»úÎó¤ò¼è¤ê½Ð¤·¡¢
-¤½¤ì¤ò¥ï¥¤¥Éʸ»ú¤ËÊÑ´¹¤·¤Æ \fI*pwc\fP ¤Ë³ÊǼ¤¹¤ë¡£
-Ʊ»þ¤Ë¥·¥Õ¥È¾õÂÖ \fI*ps\fP ¤ò¹¹¿·¤¹¤ë¡£ÊÑ´¹¤·¤¿¥ï¥¤¥Éʸ»ú¤¬ L\(aq\\0\(aq ¤Ç
-¤Ê¤±¤ì¤Ð¡¢\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 (NULL ワイド文字)
+でなければ、 \fIs\fP から消費するバイト数を返す。 変換したワイド文字が L\(aq\e0\(aq の場合にはシフト状態 \fI*ps\fP を
+初期状態に戻して 0 を返す。
 .PP
-\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
-\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
-\fIs\fP ¤¬ NULL ¤Ç¤Ê¤¯ \fIpwc\fP ¤¬ NULL ¤Î¾ì¹ç¤Ï
-.BR mbrtowc ()
-´Ø¿ô¤Ï
-¾åµ­¤ÈƱÍͤËÆ°ºî¤¹¤ë¤¬¡¢ÊÑ´¹¤·¤¿¥ï¥¤¥Éʸ»ú¤Ï¥á¥â¥ê¤Ë¤Ï½ñ¤­¹þ¤Þ¤ì¤Ê¤¤¡£
+\fIs\fP が NULL でなく \fIpwc\fP が NULL の場合は \fBmbrtowc\fP()  関数は
+上記と同様に動作するが、変換したワイド文字はメモリには書き込まれない。
 .PP
-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
-¾åµ­¤ÎÁ´¤Æ¤Î¾ì¹ç¤Ë¤ª¤¤¤Æ¡¢\fIps\fP ¤¬ NULL ¥Ý¥¤¥ó¥¿¡¼¤Ê¤é¤ÐÂå¤ï¤ê¤Ë
-mbrtowc ´Ø¿ô¤Î¤ß¤¬»ÈÍѤ¹¤ëÀÅŪ¤Ç̾Á°¤Î¤Ê¤¤¾õÂÖ¤¬»ÈÍѤµ¤ì¤ë¡£
-¤µ¤â¤Ê¤±¤ì¤Ð¡¢\fI*ps\fP ¤ÏÍ­¸ú¤Ê \fImbstate_t\fP ¥ª¥Ö¥¸¥§¥¯¥È¤Ç
-¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-\fImbstate_t\fP ¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ë \fIa\fP ¤Ï¥¼¥í¤ÇËä¤á¤ë¤³¤È¤Ë¤è¤Ã¤Æ
-½é´ü¾õÂ֤˽é´ü²½¤Ç¤­¤ë¡£°Ê²¼¤ËÎã¤ò¼¨¤¹¡£
+上記の全ての場合において、\fIps\fP が NULL ポインターならば代わりに mbrtowc 関数のみが使用する静的で名前のない状態が使用される。
+さもなければ、\fI*ps\fP は有効な \fImbstate_t\fP オブジェクトで なければならない。 \fImbstate_t\fP オブジェクトである
+\fIa\fP はゼロで埋めることによって 初期状態に初期化できる。以下に例を示す。
 .sp
 .in +4n
 memset(&a, 0, sizeof(a));
 .in
-.SH ÊÖ¤êÃÍ
-L\(aq\\0\(aq °Ê³°¤Î¥ï¥¤¥Éʸ»ú¤òǧ¼±¤·¤¿¾ì¹ç¤Ë¤Ï
-.BR mbrtowc ()
-´Ø¿ô¤Ï \fIs\fP
-¤«¤é»Ï¤Þ¤ë¥Þ¥ë¥Á¥Ð¥¤¥ÈÎ󤫤é²òÀϤ·¤¿¥Ð¥¤¥È¿ô¤òÊÖ¤¹¡£
-L\(aq\\0\(aq ¥ï¥¤¥Éʸ»ú¤òǧ¼±¤·¤¿¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤¹¡£
-ÉÔÀµ¤Ê¥Þ¥ë¥Á¥Ð¥¤¥ÈÎó¤ËÁø¶ø¤·¤¿¾ì¹ç¤Ë¤Ï
-.I (size_t)\ \-1
-¤òÊÖ¤·¡¢
-\fIerrno\fP ¤Ë \fBEILSEQ\fP ¤òÀßÄꤹ¤ë¡£´°Á´¤Ê¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»ú¤ò
-²òÀϤǤ­¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï
-.I (size_t)\ \-2
-¤òÊÖ¤· \fIn\fP ¤òÁý²Ã¤µ¤»¤ëɬÍפ¬¤¢¤ë¤³¤È¤ò¼¨¤¹¡£
-.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 準拠
 C99.
-.SH Ãí°Õ
-.BR mbrtowc ()
-¤ÎÆ°ºî¤Ï¸½ºß¤Î¥í¥±¡¼¥ë¤Î
-.B LC_CTYPE
-¥«¥Æ¥´¥ê¤Ë°Í¸¤·¤Æ¤¤¤ë¡£
-.SH ´ØÏ¢¹àÌÜ
-.BR mbsrtowcs (3)
+.SH 注意
+\fBmbrtowc\fP()  の動作は現在のロケールの \fBLC_CTYPE\fP カテゴリに依存している。
+.SH 関連項目
+\fBmbsrtowcs\fP(3)