OSDN Git Service

(split) Convert release and draft pages to UTF-8.
[linuxjm/LDP_man-pages.git] / release / man3 / mbsnrtowcs.3
index b97b9f5..43da63c 100644 (file)
@@ -16,9 +16,9 @@
 .\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
 .\"
 .TH MBSNRTOWCS 3  2011-10-01 "GNU" "Linux Programmer's Manual"
-.SH Ì¾Á°
-mbsnrtowcs \- ¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»úÎó¤ò¥ï¥¤¥Éʸ»úÎó¤ËÊÑ´¹¤¹¤ë
-.SH ½ñ¼°
+.SH 名前
+mbsnrtowcs \- マルチバイト文字列をワイド文字列に変換する
+.SH 書式
 .nf
 .B #include <wchar.h>
 .sp
@@ -27,9 +27,9 @@ mbsnrtowcs \- 
 .fi
 .sp
 .in -4n
-glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
+glibc 向けの機能検査マクロの要件
 .RB ( feature_test_macros (7)
-»²¾È):
+参照):
 .in
 .sp
 .BR mbsnrtowcs ():
@@ -37,76 +37,76 @@ glibc 
 .ad l
 .RS 4
 .TP 4
-glibc 2.10 °Ê¹ß:
+glibc 2.10 以降:
 _XOPEN_SOURCE\ >=\ 700 || _POSIX_C_SOURCE\ >=\ 200809L
 .TP
-glibc 2.10 ¤è¤êÁ°:
+glibc 2.10 より前:
 _GNU_SOURCE
 .RE
 .ad
 .PD
-.SH ÀâÌÀ
+.SH 説明
 .BR mbsnrtowcs ()
-´Ø¿ô¤Ï
+関数は
 .BR mbsrtowcs (3)
-´Ø¿ô¤Ë»÷¤Æ¤¤¤ë¤¬
-ÊÑ´¹¤¹¤ë¥Ð¥¤¥È¿ô¤¬ \fI*src\fP ¤«¤é»Ï¤Þ¤ë \fInms\fP ¥Ð¥¤¥È¤ËÀ©¸Â¤µ¤ì¤Æ¤¤¤ë
-ÅÀ¤¬°Û¤Ê¤Ã¤Æ¤¤¤ë¡£
+関数に似ているが
+変換するバイト数が \fI*src\fP から始まる \fInms\fP バイトに制限されている
+点が異なっている。
 .PP
-\fIdest\fP ¤¬ NULL ¥Ý¥¤¥ó¥¿¡¼¤Ç¤Ê¤±¤ì¤Ð
+\fIdest\fP が NULL ポインターでなければ
 .BR mbsnrtowcs ()
-´Ø¿ô¤Ï
-\fI*src\fP ¤«¤é¤Î¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»úÎó¤ÎºÇÂç \fInms\fP ¤Þ¤Ç¤ò
-\fIdest\fP ¤«¤é¤Î¥ï¥¤¥Éʸ»úÎó¤ËÊÑ´¹¤¹¤ë¡£
-ºÇÂç \fIlen\fP Ê¸»ú¤Î¥ï¥¤¥Éʸ»ú¤¬ \fIdest\fP ¤Ë½ñ¤­¹þ¤Þ¤ì¤ë¡£
-Ʊ»þ¤Ë¥·¥Õ¥È¾õÂÖ \fI*ps\fP ¤ò¹¹¿·¤¹¤ë¡£
-ÊÑ´¹¤Ï
+関数は
+\fI*src\fP からのマルチバイト文字列の最大 \fInms\fP までを
+\fIdest\fP からのワイド文字列に変換する。
+最大 \fIlen\fP 文字のワイド文字が \fIdest\fP に書き込まれる。
+同時にシフト状態 \fI*ps\fP を更新する。
+変換は
 .I "mbrtowc(dest, *src, n, ps)"
-¤ò¡¢¤³¤Î¸Æ¤Ó½Ð¤·¤¬À®¸ù¤¹¤ë¸Â¤ê¡¢·«¤êÊÖ¤·¼Â¹Ô¤·¤¿¤Î¤È¼Â¼ÁŪ¤ËƱÍͤǤ¢¤ë¡£
-¤³¤³¤Ç¤Î \fIn\fP ¤ÏÀµ¤Î¿ô¤Ç¤¢¤ê¡¢·«¤êÊÖ¤·¤´¤È¤Ë \fIdest\fP ¤¬ 1 Áý²Ã¤µ¤»¤é¤ì¡¢
-\fI*src\fP ¤¬¾ÃÈñ¤·¤¿¥Ð¥¤¥È¿ô¤À¤±Áý²Ã¤µ¤»¤é¤ì¤ë¡£ÊÑ´¹¤Ï°Ê²¼¤Î»°¤Ä¤Î
-¤¤¤º¤ì¤«¤Î¾ò·ï¤ÇÄä»ß¤¹¤ë:
+を、この呼び出しが成功する限り、繰り返し実行したのと実質的に同様である。
+ここでの \fIn\fP は正の数であり、繰り返しごとに \fIdest\fP が 1 増加させられ、
+\fI*src\fP が消費したバイト数だけ増加させられる。変換は以下の三つの
+いずれかの条件で停止する:
 .IP 1. 3
-ÉÔÀµ¤Ê¥Þ¥ë¥Á¥Ð¥¤¥ÈÎó¤ËÁø¶ø¤·¤¿¡£¤³¤Î¾ì¹ç¤Ë¤Ï \fI*src\fP ¤ÏÉÔÀµ¤Ê
-¥Þ¥ë¥Á¥Ð¥¤¥ÈÎó¤ò»Ø¤¹¤è¤¦¤Ë¤·¤Æ¡¢
+不正なマルチバイト列に遭遇した。この場合には \fI*src\fP は不正な
+マルチバイト列を指すようにして、
 .I (size_t)\ \-1
-¤òÊÖ¤·¡¢\fIerrno\fP ¤Ë \fBEILSEQ\fP ¤òÀßÄꤹ¤ë¡£
+を返し、\fIerrno\fP に \fBEILSEQ\fP を設定する。
 .IP 2.
-\fInms\fP À©¸Â¤Ë¤è¤Ã¤Æ¶¯À©Åª¤ËÄä»ß¤¹¤ë¤«¡¢\fIlen\fP Ê¸»ú¤Î L\(aq\\0\(aq °Ê³°¤Î
-¥ï¥¤¥Éʸ»ú¤ò \fIdest\fP ¤Ë³ÊǼ¤·¤¿¾ì¹ç¡£¤³¤Î¾ì¹ç¤Ï \fI*src\fP ¤Ï
-¼¡¤ËÊÑ´¹¤µ¤ì¤ë¥Þ¥ë¥Á¥Ð¥¤¥ÈÎó¤ò»Ø¤¹¤è¤¦¤Ë¤·¤Æ¡¢\fIdest\fP ¤Ë½ñ¤­¹þ¤Þ¤ì¤¿
-¥ï¥¤¥Éʸ»ú¤Î¿ô¤òÊÖ¤¹¡£
+\fInms\fP 制限によって強制的に停止するか、\fIlen\fP 文字の L\(aq\\0\(aq 以外の
+ワイド文字を \fIdest\fP に格納した場合。この場合は \fI*src\fP は
+次に変換されるマルチバイト列を指すようにして、\fIdest\fP に書き込まれた
+ワイド文字の数を返す。
 .IP 3.
-¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»úÎ󤬽ªÃ¼¤Î NULL ¥ï¥¤¥Éʸ»ú (\(aq\\0\(aq)
-¤Þ¤Ç´Þ¤á¤Æ´°Á´¤ËÊÑ´¹¤µ¤ì¤¿¾ì¹ç¡£
-(¤³¤Î»þ¡¢ÉûºîÍѤȤ·¤Æ \fI*ps\fP ¤¬½é´ü¾õÂÖ¤ËÌᤵ¤ì¤ë¡£)
-¤³¤Î¾ì¹ç¤Ï \fI*src\fP ¤Ë¤Ï NULL ¤¬ÀßÄꤵ¤ì¡¢
-\fIdest\fP ¤Ë½ñ¤­¹þ¤Þ¤ì¤¿Ê¸»ú¿ô (½ªÃ¼¤Î NULL ¥ï¥¤¥Éʸ»ú¤Ï´Þ¤Þ¤ì¤Ê¤¤) ¤òÊÖ¤¹¡£
+マルチバイト文字列が終端の NULL ワイド文字 (\(aq\\0\(aq)
+まで含めて完全に変換された場合。
+(この時、副作用として \fI*ps\fP が初期状態に戻される。)
+この場合は \fI*src\fP には NULL が設定され、
+\fIdest\fP に書き込まれた文字数 (終端の NULL ワイド文字は含まれない) を返す。
 .PP
-\fIdest\fP ¤¬ NULL ¤Î¾ì¹ç¡¢\fIlen\fP ¤Ï̵»ë¤µ¤ì¡¢¾åµ­¤ÈƱÍͤÎÊÑ´¹¤¬
-¹Ô¤ï¤ì¤ë¤¬¡¢ÊÑ´¹¤µ¤ì¤¿¥ï¥¤¥Éʸ»ú¤Ï¥á¥â¥ê¤Ë½ñ¤­¹þ¤Þ¤ì¤º¡¢ÊÑ´¹Àè¤Î¾å¸Â
-¤¬Â¸ºß¤·¤Ê¤¤¡£
+\fIdest\fP が NULL の場合、\fIlen\fP は無視され、上記と同様の変換が
+行われるが、変換されたワイド文字はメモリに書き込まれず、変換先の上限
+が存在しない。
 .PP
-¾åµ­¤Î¤É¤Á¤é¤Î¾ì¹ç¤Ç¤â¡¢\fIps\fP ¤¬ NULL ¥Ý¥¤¥ó¥¿¡¼¤Ê¤é¤Ð¡¢Âå¤ê¤Ë
-mbsnrtowcs ´Ø¿ô¤Î¤ß¤¬»ÈÍѤ¹¤ëÀÅŪ¤Ç̾Á°¤Î¤Ê¤¤¾õÂÖ¤¬»ÈÍѤµ¤ì¤ë¡£
+上記のどちらの場合でも、\fIps\fP が NULL ポインターならば、代りに
+mbsnrtowcs 関数のみが使用する静的で名前のない状態が使用される。
 .PP
-¥×¥í¥°¥é¥Þ¡¼¤Ï \fIdest\fP ¤ËºÇÄã¤Ç¤â \fIlen\fP ¥ï¥¤¥Éʸ»ú¤ò½ñ¤­¹þ¤à¤³
-¤È¤¬¤Ç¤­¤ë¶õ´Ö¤¬¤¢¤ë¤³¤È¤òÊݾڤ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-.SH ÊÖ¤êÃÍ
+プログラマーは \fIdest\fP に最低でも \fIlen\fP ワイド文字を書き込むこ
+とができる空間があることを保証しなければならない。
+.SH 返り値
 .BR mbsnrtowcs ()
-´Ø¿ô¤Ï¥ï¥¤¥Éʸ»úÎó¤ËÊÑ´¹´°Î»¤·¤¿¥ï¥¤¥Éʸ»ú¤Î¿ô¤òÊÖ¤¹¡£
-½ªÃ¼¤Î¥Ê¥ë¥ï¥¤¥Éʸ»ú¤Ï´Þ¤Þ¤Ê¤¤¡£ÉÔÀµ¤Ê¥Þ¥ë¥Á¥Ð¥¤¥ÈÎó¤ËÁø¶ø¤·¤¿¾ì¹ç¤Ë¤Ï
+関数はワイド文字列に変換完了したワイド文字の数を返す。
+終端のナルワイド文字は含まない。不正なマルチバイト列に遭遇した場合には
 .I (size_t)\ \-1
-¤òÊÖ¤·¡¢\fIerrno\fP ¤Ë \fBEILSEQ\fP ¤òÀßÄꤹ¤ë¡£
-.SH ½àµò
+を返し、\fIerrno\fP に \fBEILSEQ\fP を設定する。
+.SH 準拠
 POSIX.1-2008.
-.SH Ãí°Õ
+.SH 注意
 .BR mbsnrtowcs ()
-¤ÎÆ°ºî¤Ï¸½ºß¤Î¥í¥±¡¼¥ë¤Î
+の動作は現在のロケールの
 .B LC_CTYPE
-¥«¥Æ¥´¥ê¤Ë°Í¸¤·¤Æ¤¤¤ë¡£
+カテゴリに依存している。
 .PP
-\fIps\fP ¤È¤·¤Æ NULL ¤òÅϤ¹¤³¤È¤Ï¥Þ¥ë¥Á¥¹¥ì¥Ã¥É¤Ç¤Ï°ÂÁ´¤Ç¤Ê¤¤¡£
-.SH ´ØÏ¢¹àÌÜ
+\fIps\fP として NULL を渡すことはマルチスレッドでは安全でない。
+.SH 関連項目
 .BR iconv (3),
 .BR mbsrtowcs (3)