1 .\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
3 .\" This is free documentation; you can redistribute it and/or
4 .\" modify it under the terms of the GNU General Public License as
5 .\" published by the Free Software Foundation; either version 2 of
6 .\" the License, or (at your option) any later version.
8 .\" References consulted:
9 .\" GNU glibc-2 source code and manual
10 .\" Dinkumware C library reference http://www.dinkumware.com/
11 .\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
14 .\" Japanese Version Copyright (c) 1999 HANATAKA Shinya
15 .\" all rights reserved.
16 .\" Translated Tue Jan 11 00:56:13 JST 2000
17 .\" by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
19 .\"WORD: initial shift state ½é´ü¥·¥Õ¥È¾õÂÖ
21 .TH MBSINIT 3 2000-11-20 "GNU" "Linux Programmer's Manual"
23 mbsinit \- ½é´ü¥·¥Õ¥È¾õÂÖ¤«¤É¤¦¤«¤ò¸¡ºº¤¹¤ë
28 .BI "int mbsinit(const mbstate_t *" ps );
31 ʸ»ú¤ò¥Þ¥ë¥Á¥Ð¥¤¥Èɽ¸½¤È¥ï¥¤¥Éʸ»úɽ¸½¤Î´Ö¤ÇÊÑ´¹¤¹¤ë¾ì¹ç¤Ë¤Ï
32 \fImbstate_t\fP ·¿¤ÎÊÑ´¹¾õÂÖ¤ò»ÈÍѤ¹¤ë¡£Ê¸»úÎó¤ÎÊÑ´¹¤Ï͸¾õÂÖ¥Þ¥·¥ó
33 ¤ò»ÈÍѤ¹¤ë¡£¤¤¤¯¤é¤«¤Îʸ»ú¤ÎÊÑ´¹¤ò´°Î»¤·¤¿¸å¤Ë¡¢»Ä¤ê¤Îʸ»ú¤ò½èÍý¤¹¤ë
34 ¤¿¤á¤Ë¾õÂÖ¤òÊݸ¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ë¤«¤â¤·¤ì¤Ê¤¤¡£¤³¤Î¤è¤¦¤ÊÊÑ´¹¾õÂÖ¤Ï
35 ISO-2022 ¤ä UTF-7 ¤Î¤è¤¦¤ÊÉä¹æ¤ò°·¤¦¤Î¤ËɬÍפȤµ¤ì¤ë¡£
37 ½é´ü¾õÂ֤ȤÏʸ»úÎó¤ÎÊÑ´¹¤ò³«»Ï¤¹¤ë»þ¤Î¾õÂ֤Ǥ¢¤ë¡£¾õÂ֤ˤÏÆó¼ïÎब
40 ¤Î¤è¤¦¤Ê¥Þ¥ë¥Á¥Ð¥¤¥È¤ò¥ï¥¤¥Éʸ»ú¤Ë
41 ÊÑ´¹¤¹¤ë´Ø¿ô¤Ç»ÈÍѤµ¤ì¤ë¡£¤â¤¦°ì¤Ä¤Ï
44 ¥ï¥¤¥Éʸ»ú¤ò¥Þ¥ë¥Á¥Ð¥¤¥È¤ËÊÑ´¹¤¹¤ë´Ø¿ô¤Ç»ÈÍѤµ¤ì¤ë¡£¤·¤«¤·Î¾Êý¤È¤â
45 \fImbstate_t\fP ¤Ë³ÊǼ¤µ¤ì¡¢½é´ü¾õÂ֤Ȥ·¤ÆƱ¤¸É½¸½¤ò»ý¤Ä¡£
47 8¥Ó¥Ã¥ÈÉä¹æ¤Ë¤ª¤¤¤Æ¤ÏÁ´¤Æ¤Î¾õÂ֤Ͻé´ü¾õÂÖ¤ÈÅù²Á¤Ç¤¢¤ë¡£
48 UTF-8, EUC-*, BIG5, SJIS ¤Î¤è¤¦¤Ê¿¥Ð¥¤¥ÈÉä¹æ¤Ë¤ª¤¤¤Æ¥ï¥¤¥Éʸ»ú¤«¤é
49 ¿¥Ð¥¤¥Èʸ»ú¤Ø¤ÎÊÑ´¹´Ø¿ô¤ÏÈó½é´ü¾õÂ֤ˤϤʤé¤Ê¤¤¡£
52 ¤Î¤è¤¦¤Ê¿¥Ð¥¤¥Èʸ»ú¤«¤é¥ï¥¤¥Éʸ»ú¤Ø¤ÎÊÑ´¹´Ø¿ô¤Ç¤Ï
53 ʸ»ú¤Î²ò¼á¤ÎÅÓÃæ¤ÇÈó½é´ü¾õÂ֤Ȥʤë¾ì¹ç¤¬¤¢¤ë¡£
57 ¤òºîÀ®¤¹¤ëÊýË¡¤Î°ì¤Ä¤Ï¡¢¤½¤ì¤ò¥¼¥í¤ËÀßÄꤹ¤ë¤³¤È¤Ç¤¢¤ë:
61 memset(&state,0,sizeof(mbstate_t));
64 Linux ¤Ë¤ª¤¤¤Æ¤Ï°Ê²¼¤ÎÊýË¡¤Ç¤âƱÍͤǤ¢¤ë¤¬¡¢¥³¥ó¥Ñ¥¤¥é¡¼¤Î·Ù¹ð¤¬
65 À¸À®¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
68 mbstate_t state = { 0 };
72 ¤Ï \fI*ps\fP ¤¬½é´ü¾õÂ֤˰ìÃפ¹¤ë¤«¤É¤¦¤«¤ò¸¡ºº¤¹¤ë¡£
75 ¤Ï \fI*ps\fP ¤¬½é´ü¾õÂ֤ξì¹ç¤ä NULL ¥Ý¥¤¥ó¥¿¡¼¤Î¾ì¹ç¤Ë¤Ï
76 ¥¼¥í°Ê³°¤òÊÖ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ë¤Ï¥¼¥í¤òÊÖ¤¹¡£
81 ¤ÎÆ°ºî¤Ï¸½ºß¤Î¥í¥±¡¼¥ë¤Î
83 ¥«¥Æ¥´¥ê¤Ë°Í¸¤·¤Æ¤¤¤ë¡£