[ 1Àå, 2Àå, 3Àå, 4Àå, 5Àå, 6Àå, 7Àå, 8Àå, 9Àå, 10Àå, 11Àå, 12Àå, 13Àå, 14Àå, 15Àå, 16Àå, 17Àå, 18Àå, 19Àå, 20Àå, 21Àå, 22Àå, 23Àå, 24Àå, 25Àå, 26Àå, 27Àå, ºÎ·ÏA, ºÎ·ÏB,C, ºÎ·ÏD, GNU C ¶óÀ̺귯¸® ¸ñ·Ï ]

À̱ÛÀº ÇÏÀÌÅÚ ¼ÒÇÁÆ®¿þ¾îµ¿È£È¸ÀÇ ¼Ò¸ðÀÓÀÎ Á÷ÀåÀÎÀ» À§ÇÑ ¾¾¸ðÀÓ¿¡¼­ ÀåÀå 2³â°£ÀÇ ´ëÀåÁ¤À¸·Î ¹ø¿ªµÇ¾îÁø ¹®¼­ÀÔ´Ï´Ù. Áö±ÝÀº Á÷¾¾ÀåÀ» Áö³»°í ÀÖ´Â ±è¼Ò¿µ(flpigy)´Ô°ú Á¶¿øºÀ(thirnine)´Ô, °í¼®°©´Ô(sukgab)ÀÇ °øµ¿¹ø¿ªÀÔ´Ï´Ù.

18. È®ÀåµÈ ¹®ÀÚµé.

´Ù¼öÀÇ ¾ð¾îµéÀÌ charÀÇ ÇüÅ·Π¹®ÀÚµéÀ» Ç¥ÇöÇÒ ¼ö ¾ø´Ù. ÀϺ»¾î¿Í Áß±¹¾î°¡ ÀÌ¿Í °¡Àå À¯»çÇÑ ¿¹ÀÌ´Ù. GNU C ¶óÀ̺귯¸®´Â È®ÀåµÈ ¹®ÀÚ ÁýÇÕµéÀ» Ãë±ÞÇϱâ À§Çؼ­ µÎ °³ÀÇ ¸ÞÄ«´ÏÁòÀ» Áö¿øÇÑ ´Ù: ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚµé°ú ¿ÍÀ̵å ij¸¯ÅÍ(wide characters) ÀÌ ÀåÀº ÀÌµé ¸ÞÄ«´ÏÁò°ú ±×µéÀ» º¯È¯ÇÏ ´Â ÇÔ¼öµéÀ» ¾î¶»°Ô »ç¿ëÇÒ °ÍÀÎÁö¸¦ ¼³¸íÇÑ´Ù. ÀÌ Àå¿¡ ÀÖ´Â ÇÔ¼öµéÀÇ µ¿ÀÛÀº ¹®ÀÚ ºÐ·ù LC_CTYPE ¹üÁÖ·Î ³ªÅ¸³½ ÇöÀçÀÇ Áö¿ª¿¡ ÀÇÇØ ¿µÇâÀ» ¹Þ´Â´Ù; 19.3Àý [Locale Categories] 260 ÆäÀÌ Áö ÂüÁ¶. Áö¿ªÀ» ¼±ÅÃÇÏ´Â °ÍÀº ´ÙÁß¹ÙÀÌÆ® Äڵ尡 »ç¿ëµÇ´ÂÁö, ¿ÍÀ̵å ij¸¯ÅÍ Äڵ尡 »ç¿ëµÇ´ÂÁö¸¦ ¼±ÅÃÇÏ´Â °ÍÀÌ´Ù.

18.1 È®ÀåµÈ ¹®Àڵ鿡 ´ëÇÑ ¼Ò°³.

´ç½ÅÀº µÎ°¡Áö ¹æ¹ýÁß¿¡ Çϳª·Î È®Àå ¹®ÀÚµéÀ» ³ªÅ¸³¾ ¼ö ÀÖ´Ù.

둁 ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚµéÀº char ¿ÀºêÁ§Æ®ÀÇ ¹è¿­ÀÎ ¿ø·¡ÀÇ ¹®ÀÚ¿­¿¡ Æ÷ÇÔ µÉ ¼ö ÀÖ´Ù. À̰ÍÀÇ À̵æÀº ¸¹Àº ÇÁ·Î±×·¥µé°ú ¿î¿µÁ¦Ã¼°¡ ¾Æ¹«·± º¯È¯¾øÀÌ, ¿ø·¡ÀÇ ASCII ¹®ÀÚµé »çÀÌ¿¡ Èð¾îÁ® ÀÖ´Â ´ÙÁß¹ÙÀÌ Æ® ¹®ÀÚµéÀ» ´Ù·ê¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù.

둁 ¿ÍÀÌÆ® ij¸¯ÅÍ´Â ´õ ¸¹Àº ºñÆ®µéÀ» Á¡À¯ÇÑ´Ù´Â °ÍÀ» Á¦¿ÜÇϰí´Â ¿ø·¡ÀÇ ¹®ÀÚµé°ú °°´Ù. ¿ÍÀÌÆ® ij¸¯ÅÍ µ¥ÀÌÅÍ Å¸ÀÔ, wchar_t´Â ASCII ÄÚµåµé Àº ¹°·Ð È®ÀåµÈ ¹®ÀÚ ÄÚµåµéÀ» ´Ù·ç±âÀ§Çؼ­ ÃæºÐÈ÷ Å« ¹üÀ§¸¦ °®´Â´Ù. ¿ÍÀ̵å ij·°ÅÍÀÇ À̵æÀº °¢ ¹®ÀÚµéÀÌ ¿ø·¡ÀÇ ASCII ¹®ÀÚµéó·³ ´ÜÀÏÇÑ µ¥ÀÌÅÍ ¿À ºêÁ§Æ®¶ó´Â °ÍÀÌ´Ù. ÇÏÁö¸¸ ¸î°³ÀÇ ºÒÆíÀÌ ÀÖ´Ù.

둁 ¾î¶² ÇöÁ¸ÇÏ´Â ÇÁ·Î±×·¥ÀÌ ¿ÍÀÌÆ® ij¸¯Å͸¦ »ç¿ëÇϵµ·Ï ÇÏ·Á¸é °»½ÅµÇ°í ÀçÄÄÆÄÀÏ µÇ¾î¾ß¸¸ ÇÑ ´Ù.

둁 ¿ÍÀ̵å ij¸¯ÅÍÀÇ ÆÄÀϵéÀº º¸ÅëÀÇ ¹®ÀÚµéÀ» Á¦¿ÜÇϰí´Â ÇÁ·Î±×·¥¿¡ ÀÇÇØ ÀÐÇôÁú ¼ö ¾ø´Ù.

ÀϹÝÀûÀ¸·Î, ´ç½ÅÀº ÆÄÀÏ¿¡ ÅØ½ºÆ®¸¦ Àаųª ¾²±âó·³, ¿ÜºÎ ÇÁ·Î±×·¥ ÀÎÅÍÆäÀ̽ºÀÇ ºÎºÐÀ¸·Î ´ÙÁß ¹ÙÀÌÆ® ¹®ÀÚ Ç¥ÇöÀ» »ç¿ëÇÑ´Ù. ±×·¸Áö¸¸, ÀÏÁ¤ÇÑ Ç¥ÇöÀº ÆíÁý ¸í·ÉµéÀ» °¡Àå ½±°Ô ±¸ÇöÇϵµ·Ï Çϱ⠶§¹®¿¡, wchar_t ¿ÀºêÁ§Æ®ÀÇ ¹è¿­·Î È®ÀåµÈ ¹®ÀÚµéÀ» Æ÷ÇÔÇÏ´Â ¹®ÀÚ¿­À» ³»ºÎÀûÀΠ󸮸¦ ¼öÇàÇÏ´Â °ÍÀÌ º¸ÅëÀº ´õ ½±´Ù. ¸¸ÀÏ ´ç½ÅÀÌ ÆÄÀÏ¿¡¼­´Â ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚµéÀ» »ç¿ëÇÏ°í ³»ºÎ µ¿ÀÛ¿¡´Â ¿ÍÀÌ Æ® ij¸¯Å͸¦ »ç¿ëÇÑ´Ù¸é, ´ç½ÅÀº µ¥ÀÌÅ͸¦ Àаųª ¾µ ¶§, ±×µé »çÀÌ¿¡ º¯È¯À» ÇÒ Çʿ䰡 ÀÖ´Ù. ¸¸ÀÏ ´ç½ÅÀÇ ½Ã½ºÅÛÀÌ È®ÀåµÈ ¹®ÀÚµéÀ» Áö¿øÇÑ´Ù¸é, ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚµé°ú ¿ÍÀ̵å ij¸¯ÅÍ ¹®ÀÚµéÀ» µÑ´Ù Áö¿øÇÑ´Ù. ¶óÀ̺귯¸®¿¡ Æ÷ÇÔµÈ ÇÔ¼ö¸¦ ÅëÇØ ´ç½ÅÀº ±× µÎ Ç¥Çö »çÀÌÀÇ º¯È¯À» ¼öÇàÇÒ ¼ö ÀÖ´Ù. ÀÌ µé ÇÔ¼öµéÀº ÀÌ Àå¿¡ ¼³¸íµÇ¾î ÀÖ´Ù.

18.2 Áö¿ª°ú È®ÀåµÈ ¹®ÀÚ.

ÄÄÇ»ÅÍ ½Ã½ºÅÛÀº ÇÑ °³ÀÇ ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ Äڵ庸´Ù ¸¹ÀÌ, ±×¸®°í ÇÑ °³ÀÇ ¿ÍÀÌÆ® ij¸¯ÅÍ Äڵ庸´Ù ´Â ¸¹ÀÌ Áö¿øÇÒ ¼ö ÀÖ´Ù. »ç¿ëÀÚ´Â ¹®ÀÚ ºÐ·ù¿¡ ÀÖ´Â ÇöÀçÀÇ Áö¿ªÄڵ带 ¼±ÅÃÇÔÀ¸·Î½á Á¦¾îÇÑ´Ù( 19Àå [Locals] 259 ÆäÀÌÁö ÂüÁ¶.) °¢ Áö¿ªÀº ƯÁ¤ÇÑ ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ ÄÚµå¿Í ƯÁ¤ÇÑ ¿ÍÀ̵å ij·°ÅÍ Äڵ带 Á¤ÇÑ´Ù. Áö¿ªÀÇ ¼±ÅÃÀº ¶óÀ̺귯¸®¿¡ ÀÖ´Â º¯È¯ ÇÔ¼öµéÀÇ µ¿ÀÛ¿¡ ¿µÇâÀ» ³¢Ä£´Ù.

¾î¶² Áö¿ªµé¿¡¼­´Â ¿ÍÀ̵åij¸¯Åͳª ȤÀº ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚµéÁß Çϳª¸¸ Áö¿øÇÑ´Ù. À̵éÀÇ Áö¿ª¿¡¼­, ¶óÀ̺귯¸®ÀÇ º¯È¯ ÇÔ¼öµéÀº ºñ·Ï ÇÏÂúÀº ÀϵéÀÌÁö¸¸ ¿©ÀüÈ÷ ÀÛ¾÷ÇÑ´Ù.

¸¸ÀÏ ´ç½ÅÀÌ ¹®Àںзù¸¦ À§Çؼ­ »õ·Î¿î Áö¿ªÀ» ¼±ÅÃÇÑ´Ù¸é, ±×µé ÇÔ¼öµé¿¡ ÀÇÇÏ¿© À¯ÁöµÇ°í ÀÖ´ø ³»ºÎ shift »óȲÀº È¥¶õÇÏ°Ô µÉ ¼öµµ ÀÖ´Ù, ±×·¯¹Ç·Î ´ç½ÅÀÌ ¹®ÀÚ¿­À» ó¸®ÇÏ´Â µµÁß¿¡ Áö¿ªÀ» º¯°æ ÇÏ´Â °ÍÀº ÁÁÀº »ý°¢ÀÌ ¾Æ´Ï´Ù.

18.3 ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚµé.

º¸ÅëÀÇ ASCII Äڵ忡¼­ ¿¬¼ÓµÈ ¹®ÀÚµéÀº ¹ÙÀÌÆ®°¡ ¿¬¼ÓÇϰí ÀÖÀ½À» ÀǹÌÇÏ°í °¢ ¹®ÀÚ´Â ÇÑ ¹ÙÀÌÆ® ÀÌ´Ù. À̰ÍÀº ¸Å¿ì °£´ÜÇÏÁö¸¸, ¿ÀÁ÷ 256°³ÀÇ µ¶¸³¹®Àڵ鸸À» Çã¿ëÇÑ´Ù.

´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ Äڵ忡¼­µµ, ¿¬¼ÓµÈ ¹®ÀÚµéÀº ¹ÙÀÌÆ®°¡ ¿¬¼ÓÇϰí ÀÖÀ½À» ÀǹÌÇÏÁö¸¸, °¢ ¹®ÀÚ´Â ÇÑ °³ ¶Ç´Â ´õ ¸¹Àº ¿¬¼ÓÀûÀÎ ¹ÙÀÌÆ®µéÀ» Á¡À¯Çϰí ÀÖÀ» °ÍÀÌ´Ù.

´ÙÁß¹ÙÀÌÆ® Äڵ带 ¼³°èÇÏ´Â ¸¹Àº ´Ù¸¥ ¹æ¹ýµéÀÌ ÀÖ´Ù; ´Ù¸¥ ½Ã½ºÅÛµéÀº ´Ù¸¥ ÄÚµåµéÀ» »ç¿ëÇÑ´Ù. ƯÁ¤ÇÑ Äڵ带 ¼³°èÇϱâ À§Çؼ­´Â ƯÁ¤ÇÑ ¹®ÀÚ¸¦ ´ëÇ¥ÇÏ´Â ÇÑ ¹®ÀÚ¸¦ ¸î¹ÙÀÌÆ®(±âº» ¹ÙÀÌÆ® ½ÃÄö½º) ·Î ³ªÅ¸³¾°ÍÀÎÁö¸¦ Á¤ÇØ¾ß ÇÑ´Ù. ÄÄÇ»ÅÍ¿¡¼­ ÇÑ ÄÚµå´Â ½ÇÁ¦·Î ±âº» ½ÃÄö½ºµéÀÇ Á¦ÇÑµÈ °³¼ö°¡Á®¾ß ¸¸ Çϰí, ±×µéÁß ¾î¶²°Íµµ À̰ͺ¸´Ù ±æ¾î¼­´Â ¾ÈµÈ´Ù.

ÀÌµé ½ÃÄö½ºµéÀÌ ¸ðµÎ °°Àº ±æÀ̸¦ °¡Áú ÇÊ¿ä´Â ¾ø´Ù. ½ÇÁ¦·Î, ±×µéÁß ´ëºÎºÐÀº ´ÜÁö ÇѹÙÀÌÆ® ±æ À̸¦ °¡Áø´Ù. 0¿¡¼­ 0177ÀÇ ¹üÀ§¿¡ ÀÖ´Â ±âº» ASCII ¹®ÀÚµéÀÌ Áß¿äÇϱ⠶§¹®¿¡, ±×·¡¼­ ±×µéÀ» ¸ð µÎ ´ÙÁß¹ÙÀÌÆ® ÄÚµå·Î ³ªÅ¸³½´Ù. 0¿¡¼­ 0177ÀÇ ¹üÀ§¿¡ ÀÖ´Â ÇÑ ¹ÙÀÌÆ®´Â ±× ÀÚü·Î ÇÑ ¹®ÀÚ¸¦ Ç¥Çö Çϰí ÀÖ´Ù. ÇÑ ¹ÙÀÌÆ®º¸´Ù ±ä ¹®ÀÚµéÀº 0200¿¡¼­ 0377 ¹üÀ§¿¡ ÀÖ´Â ÇѹÙÀÌÆ®·Î Ç×»ó ½ÃÀ۵Ǿî¾ß¸¸ ÇÑ´Ù. ¹ÙÀÌÆ® °ª 0Àº ¹®ÀÚ¿­À» ³¡³»±â À§Çؼ­ »ç¿ëµÉ ¼ö ÀÖ°í, Á¾Á¾ ASCII ¹®ÀÚµéÀÇ ¹®ÀÚ¿­¿¡ »ç¿ë µÈ´Ù.

´ÜÀÏÇÑ ¹®ÀÚµéÀ» Ç¥ÇöÇÏ´Â ±âº» ¹ÙÀÌÆ® ½ÃÄö½º¸¦ Á¤ÇÏ´Â °ÍÀº ÀÚµ¿ÀûÀ¸ ·Î±ä ¹ÙÀÌÆ® ½ÃÄö½º¿¡ ÀÇ ¹Ì¸¦ ÁְԵȴÙ. ¿¹¸¦ µé¾î, µÎ °³ÀÇ ¹ÙÀÌÆ® ½ÃÄö½º 0205 049°¡ ±×¸®½º ¹®ÀÚ ¾ËÆÄ¸¦ ÀǹÌÇÑ´Ù¸é, 0205 049 065´Â ¾ËÆÄ µÚ¿¡ 'A'(ASCII ÄÚµå 065)°¡ µû¶ó¿ÈÀ» ³ªÅ¸³»°í, 0205 049 0205 049´Â ÀÏ·Ä·Î µÎ °³ÀÇ ¾ËÆÄ°¡ ÀÖÀ½À» ³ªÅ¸³½´Ù.

¸¸ÀÏ ¾î´À ¹ÙÀÌÆ® ½ÃÄö½º°¡ ¿©·¯ °¡ÁöÀÇ À¸¹Ì·Î ÇØ¼®µÉ ¼ö ÀÖ´Ù¸é, ±× ´ÙÁß¹ÙÀÌÆ® ÄÚµå´Â ÁÁÀº °Í ÀÌ ¾Æ´Ï´Ù. ½Ã½ºÅÛ¿¡¼­ ÄÚµå´Â ½ÇÁ¦·Î ¸ðµÎ ´ÜÀÏÇÑ Àǹ̷Π»ç¿ëµÈ´Ù. ´ëºÎºÐÀÇ Äڵ忡¼­ ¾î¶² ¹ÙÀÌ Æ®µéÀÇ ½ÃÄö½º´Â ¹®ÀÚ·Î½á ¾Æ¹«·± Àǹ̸¦ °¡ÁöÁö ¾Ê´Â´Ù. ±×µéÀ» À¯¿ëÇÏÁö ¾Ê´Ù¶ó°í ÇÑ´Ù.

°¡Àå °£´ÜÇÏ°í °¡´ÉÇÑ ´ÙÁß¹ÙÀÌÆ® Äڵ忡 ´ëÇÑ ÇѰ¡Áö :

´ÜÀÏÇÑ ¹ÙÀÌÆ®µé·Î ±¸¼ºµÈ ±âº» ½ÃÄö½º

ƯÁ¤ÇÑ ÄÚµå´Â ÀüÇô ´ÙÁß¹ÙÀÌÆ® Äڵ带 »ç¿ëÇÏÁö ¾Ê´Â´Ù. ±×°ÍÀº À¯¿ëÇÏÁö ¾ÊÀº ½ÃÄö½º°¡ ¾ø´Ù. ±×·¯³ª ¿ÀÁ÷ 256°³ÀÇ ¹®Àڵ鸸À» Ãë±ÞÇÒ ¼ö ÀÖ´Ù. À̰÷¿¡ 9376°³ÀÇ ´Ù¸¥ ¹®ÀÚµéÀ» ´Ù·ê ¼ö ÀÖ´Â ´Ù ¸¥ °¡´ÉÇÑ Äڵ尡 ÀÖ´Ù.

±âº» ½ÃÄö½ºÀÇ ±¸¼ºÀº.

둁 0¿¡¼­ 0237Àº ´ÜÀÏÇÑ ¹ÙÀÌÆ®°ª.

둁 0240¿¡¼­ 0377 ¹üÀ§¿¡ ÀÖ´Â °ªµéÀ» °¡Áø ¹ÙÀÌÆ® µÎ °³·Î µÎ °³-¹ÙÀÌÆ® ½ÃÄö½º

ÀÌ ÄÚµå¶Ç´Â ÀÌ¿Í À¯»çÇѰ͵éÀº ÀϺ»¾î ¹®ÀÚµéÀ» Ç¥ÇöÇϱâÀ§Çؼ­ ¾î¶² ½Ã½ºÅÛ¿¡¼­ »ç¿ëµÈ´Ù. À¯¿ë ÇÏÁö ¾ÊÀº ½ÃÄö½º´Â 0240ºÎÅÍ 0377ÀÇ ¹üÀ§¿¡ ÀÖ´Â ¿¬¼ÓµÈ ¹ÙÀÌÆ®µéÀÇ °³¼ö°¡ Ȧ¼ö¶ó¸é À¯¿ëÇÏÁö ¾Ê Àº °ÍÀÌ´Ù.

¿©±â¿¡ ´õ ¸¹Àº È®ÀåµÈ ¹®ÀÚµéÀ» ´Ù·ê ¼ö ÀÖ´Â ´ÙÁß¹ÙÀÌÆ® Äڵ尡 ÀÖ´Ù. À̰ÍÀº ½ÇÁ¦·Î °ÅÀÇ 3000 ¸¸ ±îÁö µÈ´Ù.

±âº» ½ÃÄö½º ±¸¼ºÀº.

둁 0¿¡¼­ 0177ÀÇ ¹üÀ§·Î´Â ´ÜÀÏÇÑ ¹ÙÀÌÆ®.

둁 ³× °³ÀÇ ¹ÙÀÌÆ®·Î ±¸¼ºµÈ ½ÃÄö½º¿¡¼­ ù ¹øÂ° ¹ÙÀÌÆ®´Â 0200¿¡¼­ 0237ÀÇ ¹üÀ§¸¦ °®°í, ³ª¸ÓÁö´Â 0240¿¡¼­ 0377ÀÇ ¹üÀ§¸¦ °®´Â´Ù.

ÀÌ Äڵ忡¼­, ¾î´À ½ÃÄö½º°¡ 0240¿¡¼­ 0377ÀÇ ¹üÀ§ÀÇ ÇѹÙÀÌÆ®·Î ½ÃÀÛÇÏÁö ¾ÊÀ¸¸é À¯¿ëÇÏÁö ¾Ê´Ù.

±×¸®°í ¸¶Áö¸· ¹ÙÀÌÆ®¸¦ Á¦°ÅÇÔÀ¸·Î½á ¾î¶² À̵æÀ» °®°Å³ª, ÇÑ °³ÀÇ À¯¿ëÇÑ ¹®ÀÚ¸¦ ´ëÇ¥ÇÏ´Â ¹ÙÀÌ Æ®µéÀ» °¡Áö°í °áÄÚ ´Ù¸¥ À¯¿ëÇÑ ¹®ÀÚÀ» ¸¸µé¾î³¾ ¼ö ¾ø´Â ¹®ÀÚÄڵ尡 ÀÖ´Ù. (ÀÌ·± Ư¼ºÀº ´ç½ÅÀÌ Æ¯Á¤ÇÑ ¹®ÀÚµéÀÌ ÀÖ´Â ¹®ÀÚ¿­À» Ž»öÇϰíÀÚ ÇÒ ¶§ Æí¸®ÇÏ´Ù. )

±âº» ½ÃÄö½º ±¸¼ºÀº.

둁 0¿¡¼­ 0177ÀÇ ¹üÀ§·Î´Â ´ÜÀÏÇÑ ¹ÙÀÌÆ®.

둁 µÎ °³-¹ÙÀÌÆ® ½ÃÄö½º¿¡¼­ ù ¹øÂ° ¹ÙÀÌÆ®´Â 0200¿¡¼­ 0207ÀÇ ¹üÀ§¸¦ °®°í, µÎ ¹øÂ°´Â 0240¿¡¼­ 0377ÀÇ ¹üÀ§¸¦ °®´Â´Ù.

둁 ¼¼ °³-¹ÙÀÌÆ® ½ÃÄö½º¿¡¼­ ù ¹øÂ° ¹ÙÀÌÆ®´Â 0210¿¡¼­ 0217ÀÇ ¹üÀ§¸¦ °®°í, ³ª¸ÓÁö ¹ÙÀÌÆ®µéÀº 0240¿¡¼­ 0377ÀÇ ¹üÀ§¸¦ °®´Â´Ù.

둁 ³× °³-¹ÙÀÌÆ® ½ÃÄö½º¿¡¼­ ù ¹øÂ° ¹ÙÀÌÆ®´Â 0220¿¡¼­ 0227ÀÇ ¹üÀ§¸¦ °®°í, ³ª¸ÓÁö ¹ÙÀÌÆ®µéÀº 0240¿¡¼­ 0377ÀÇ ¹üÀ§¸¦ °®´Â´Ù.

ÀÌ ÄÚµå·Î ±¸¼ºµÈ À¯¿ëÇÑ ½ÃÄö½ºµéÀº ±æ´Ù; À¯¿ëÇÑ ½ÃÄö½ºÀÇ ¿¹·Î 0240 °ú 0220 0300 065°¡ ÀÖ´Ù.

°¡´ÉÇÑ ´ÙÁß¹ÙÀÌÆ® ÄÚµåµéÀÇ °³¼ö´Â ¼¿¼ö°¡ ¾ø´Ù. ±×·¯³ª ÁÖ¾îÁø ÄÄÇ»ÅÍ ½Ã½ºÅÛÀº °íÀÛ ¸î °³ÀÇ ´Ù¸¥ ÄÚµåµéÀ» Áö¿øÇÒ °ÍÀÌ´Ù. ( ±×µé ÄÚµåµéÁß Çϳª´Â ¼öõ°³ÀÇ ´Ù¸¥ ¹®ÀÚµéÀ» Çã¿ëÇÒ °ÍÀÌ´Ù. ) ´Ù ¸¥ ÄÄÇ»ÅÍ ½Ã½ºÅÛÀº ÇÑ °³ÀÇ ¿ÏÀüÇÑ ´Ù¸¥ Äڵ带 Áö¿øÇÒ °ÍÀÌ´Ù. ÀÌ Àå¿¡¼­ ¼³¸íµÈ ¶óÀ̺귯¸®µµ±¸ µéÀº ´ç½ÅÀÇ ÇÁ·Î±×·½¿¡¼­ ±×µéÀ» ¾Ë Çʿ䰡 ¾øÀÌ Æ¯Á¤ ÄÄÇ»ÅÍ ½Ã½ºÅÛÀÇ ´ÙÁß¹ÙÀÌÆ® Äڵ忡 ´ëÇÑ ¼¼½ÉÇÑ Áö½Äµé·Î ²Ù·ÁÁ®Àֱ⠶§¹®¿¡ À¯¿ëÇÏ´Ù.

´ç½ÅÀÌ ÇöÀç ¼±ÅÃµÈ ´ÙÁß¹ÙÀÌÆ® Äڵ忡¼­ Çѹ®ÀÚ¸¦ Ç¥ÇöÇÏ´Â ¹ÙÀÌÆ®µéÀÇ ÃÖ´ë °¡´É °³¼ö¸¦ ã±â À§Çؼ­´Â Ç¥ÁØ ¸ÅÅ©·Î MB_CUR_MAX¸¦ »ç¿ëÇϰí, ´ç½ÅÀÇ ÄÄÇ»ÅÍ¿¡¼­ Áö¿øµÇ´Â ¾î´À ´ÙÁß¹ÙÀÌÆ® Äڵ带 À§ÇÑ ÃÖ´ë °³¼ö¸¦ À§Çؼ­´Â MB_LEN_MAX¸¦ »ç¿ëÇ϶ó.

¸ÅÅ©·Î : int MB__LEN__MAX

À̰ÍÀº ¾î´À Áö¿øµÈ Áö¿ªÀ»À§ÇÑ ÇÑ ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚÀÇÃÖ´ë ±æÀÌÀÌ´Ù. `limits.h'¿¡ Á¤ÀǵǾî ÀÖ´Ù.

¸ÅÅ©·Î : int MB__CUR__MAX

ÀÌ ¸ÅÅ©·Î´Â ÇöÀçÀÇ Áö¿ª¿¡¼­ ÇÑ ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ¸¦ Ç¥ÇöÇÏ´Â ÃÖ´ë ¹ÙÀÌÆ®ÀÇ °³¼ö¸¦ ¾çÀÇ Á¤¼öÇ¥Çö À¸·Î(°¡´ÉÇϰԺñ-»ó¼ö)È®ÀåÇÑ´Ù. ±× °ªÀº °áÄÚ MB_LEN_MAXº¸´Ù ±æ ¼ö°¡ ¾ø´Ù.

MB_CUR_MAX´Â `stdlib.h'¿¡ Á¤ÀǵǾî ÀÖ´Ù.

º¸Åë, ƯÁ¤ ¹®ÀÚ ÄÚµå¾È¿¡ ÀÖ´Â °¢°¢ÀÇ ±âº» ½ÃÄö½º´Â ÇÑ ¹®ÀÚ¸¦ ³ªÅ¸³½´Ù. °°Àº ´ÙÁß ¹ÙÀÌÆ® ¹®ÀÚ ÄÚµåµéÀº ÇÑ shift »óȲÀ» °®´Â´Ù; ¾î¶² ÄÚµåµé¿¡¼­´Â, ½¬ÇÁÆ® ½ÃÄö½º¶ó°í ºÒ¸®´Â ´Ù¸¥ ½¬ÇÁÆ® »óȲ À¸·Î º¯°æÇϰí, ¾î¶² ¶Ç´Â, ¸ðµç ±âº» ½ÃÄö½ºµéÀÇ Àǹ̴ ÇöÀçÀÇ ½¬ÇÁÆ® »óȲ¿¡ µû¸¥´Ù. ½ÇÁ¦·Î, ±â º» ½ÃÄö½ºÀÇ ÁýÇÕÀº ½ÉÁö¾î ÇöÀçÀÇ ½¬ÇÁÆ® »óȲ¿¡ ÀÇÁ¸ÇÏ¿© ´Þ¶óÁú °ÍÀÌ´Ù. ÀÌ ÄÚµåÀÇ Á¾·ù¸¦ ´Ù·ç ´Â°Í¿¡ ´ëÇÑ Á¤º¸´Â 18.9Àý [Shift State] 256 ÆäÀÌÁö¸¦ ÂüÁ¶Ç϶ó.

Æ÷ÇÔµÈ ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ¿­À» ±×µé¿¡ ´ëÇØ¼­ ¾ËÁö ¸øÇÏ´Â ÇÔ¼ö¿¡°Ô ÁÖ·Á ½ÃµµÇÒ ¶§ ¹«½¼ÀÏÀÌ ÀÏ¾î ³¯°ÍÀΰ¡? º¸Åë, ÇÔ¼ö´Â ¹ÙÀÌÆ®µéÀÇ ½ÃÄö½º·Î ¹®ÀÚ¿­À» Ãë±ÞÇϰí, Ưº°ÇÑ ¾î¶² ¹ÙÀÌÆ®°ªÀ¸·Î ÇØ¼®ÇÑ ´Ù; ¸ðµç ´Ù¸¥ ¹ÙÀÌÆ® °ªµéÀº "º¸Åë"ÀÌ´Ù. ´ÙÁß¹ÙÀÌÆ®ÀÇ ±æÀ̸¦ °¡Áø ¹®ÀÚ°¡ ¾î´À Ưº°ÇÑ ¹ÙÀÌÆ® °ªµéÀ» Æ÷ÇÔÇÏÁö ¾ÊÀ¸¸é, ±× ÇÔ¼ö´Â ¸î °³ÀÇ º¸Åë ¹®ÀÚó·³ ±×µéÀ» Ãë±ÞÇÒ °ÍÀÌ´Ù.

¿¹¸¦µé¾î, ¸¸ÀÏ ´ç½ÅÀÌ ÆÄÀÏÀÇ À̸§À¸·Î ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚµéÀ» »ç¿ëÇÑ´Ù¸é ¹«¾ùÀÌ ¹ß»ýÇÒÁö¸¦ »ý°¢ ÇØº¸ÀÚ. open°ú unlink¿Í °°Àº ÇÔ¼öµéÀº Ưº°ÇÑ °ªÀ¸·Î `/'¿Í ÇÔ²², ¿¬¼ÓµÈ ¹ÙÀÌÆ®µéÀÇ ½ÃÄö½º·Î ±× À̸§À» Ãë±ÞÇÏ¿© ÇÔ¼öÀ̸§À» °¡Áö°í µ¿ÀÛÇÑ´Ù. ¾î´À ´Ù¸¥ ¹ÙÀÌÆ® °ªµéÀÌ ½ÃÄö½º·Î º¹»çµÇ°Å³ª ºñ±³ µÇ¸é, ¸ðµç ¹ÙÀÌÆ® °ªµéÀº À¯»çÇÏ°Ô Ãë±ÞµÈ´Ù. ±×·¯¸é, ´ç½ÅÀº ¿¬¼ÓµÈ ¹ÙÀÌÆ®µé·Î ±¸¼ºµÈ ÆÄÀÏÀ̸§À¸ ·Î »ý°¢Çϰųª, ¶Ç´Â ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚµéÀÌ Æ÷ÇÔµÈ ¹®ÀÚ¿­·Î »ý°¢ÇÒ °ÍÀÌ´Ù; ±× °°Àº µ¿ÀÛÀº `/'¸¦ Æ÷ÇÔÇÏÁö ¾ÊÀº ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ¿¡µµ °°Àº ¹æ¹ýÁß Çϳª·Î ÀÌÇØµÉ °ÍÀÌ´Ù.

18.4 ¿ÍÀ̵å ij¸¯ÅÍ¿¡ ´ëÇÑ ¾È³».

¿ÍÀ̵å ij¸¯ÅÍ´Â ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚº¸´Ù´Â ¸¹ÀÌ °£´ÜÇÏ´Ù. ±×µéÀº 8ºñÆ® ÀÌ»óÀ» °¡Áö°í ¹®ÀÚµéÀ» Ç¥ ÇöÇϱ⠶§¹®¿¡, 256°³º¸´Ù´Â ¸¹Àº ¹®ÀÚµéÀ» Ç¥ÇöÇÒ ¼ö ÀÖ´Ù. ¿ÍÀ̵å ij¸¯ÅÍ µ¥ÀÌÅÍ Å¸ÀÔ, wchar_t´Â ±Ô°ÝÈ­µÈ ASCII ÄÚµå´Â ¹°·Ð È®ÀåµÈ ¹®ÀÚ ÄÚµåµéÀ» ÀúÀåÇϱ⿡ ÃæºÐÇÑ ¹üÀ§¸¦ °®°í ÀÖ´Ù.

¿ÍÀ̵å ij·°ÅÍÀÇ »ç¿ëÀ¸·Î °®´Â À̵æÀº °¢°¢ÀÇ ¹®ÀÚ°¡ º¸ÅëÀÇ ASCII ¹®ÀÚµé ó·³, ´ÜÀÏÇÑ µ¥ÀÌÅÍ ¿ÀºêÁ§Æ®¶ó´Â °ÍÀÌ´Ù. ±×·¸Áö¸¸ ¿ÍÀ̵å ij·°Å͵éÀº ¸î°¡Áö ºÒÆíÇÔÀ» ³»Æ÷Çϰí ÀÖ´Ù.

둁 ÇÁ·Î±×·¥ÀÌ ¿ÍÀ̵å ij¸¯Å͸¦ »ç¿ëÇÏ·Á¸é ¼öÁ¤µÇ°í ÀçÄÄÆÄÀÏ µÇ¾î¾ß¸¸ ÇÑ´Ù.

둁 ¿ÍÀ̵å ij¸¯ÅÍ·Î ÀÌ·ç¾îÁø ÆÄÀϵéÀº º¸ÅëÀÇ ¹®ÀÚµéÀ» Á¦¿ÜÇϰí´Â ÇÁ·Î±×·¥¿¡ ÀÇÇØ ÀÐÇôÁú ¼ö ¾ø ´Ù.

¿ÍÀ̵å ij·°ÅÍ °ª, 0¿¡¼­ 0177 »çÀÌ´Â Ç×»ó ASCII ¹®ÀÚ ÄÚµå¿Í µ¿ÀÏÇÏ´Ù. ¿ÍÀ̵å ij·°ÅͰª 0Àº , 0 ÀÇ °ªÀ» °¡Áø ´ÜÀÏÇÑ ¹ÙÀÌÆ®°¡ º¸ÅëÀÇ ¹®ÀÚµé·Î ÀÌ·ç¾îÁø ¹®ÀÚ¿­À» Á¾·áÇϴµ¥ »ç¿ëµÇ´Â°Íó·³, ¿Í À̵å ij¸¯Å͵é·Î ÀÌ·ç¾îÁø ¹®ÀÚ¿­À» Á¾·áÇϴµ¥ »ç¿ëµÈ´Ù.

µ¥ÀÌÅÍ Å¸ÀÔ : wchar__t

À̰ÍÀº Áö¿øµÈ Áö¿ªµé¿¡¼­ »ç¿ëµÇ´Â È®ÀåµÈ ¹®ÀÚ °ªµéÀ» ¸ðµÎ Ç¥ÇöÇϱ⿡ ÃæºÐÈ÷ Å« ¹üÀ§¸¦ °¡Áø Á¤¼öÇüÀ¸·Î "¿ÍÀ̵å ij·°ÅÍ"ÀÇ µ¥ÀÌÅÍ ÇüÀÌ´Ù. Áö¿ª¿¡ ´ëÇÑ Á¤º¸´Â 19Àå [Locales] 259 ÆäÀÌÁö¸¦Âü Á¶Ç϶ó. ÀÌ ÇüÀº Çì´õÆÄÀÏ 'stddef.h'¿¡ Á¤ÀǵǾî ÀÖ´Ù.

¸¸ÀÏ ´ç½ÅÀÇ ½Ã½ºÅÛÀÌ È®ÀåµÈ ¹®ÀÚµéÀ» Áö¿øÇÑ´Ù¸é, °¢°¢ÀÇ È®ÀåµÈ ¹®ÀÚµéÀº ÇÑ °³ÀÇ ¿ÍÀ̵å ij¸¯ ÅÍ ÄÚµå¿Í ±×¿¡ ÇØ´çÇÏ´Â ´ÙÁß¹ÙÀÌÆ® ±âº» ½ÃÄö½º¸¦ µÑ´Ù °®´Â´Ù.

18.5 È®ÀåµÈ ¹®ÀÚ¿­ÀÇ º¯È¯.

mbstowcsÇÔ¼ö´Â ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚµé·Î ÀÌ·ç¾îÁø ¹®ÀÚ¿­À» ¿ÍÀ̵å ij¸¯ÅÍ ¹è¿­·Î º¯È¯ÇÑ´Ù. wcstombs ÇÔ¼ö´Â ±× ¿ªº¯È¯À» ÇÑ´Ù. À̵é ÇÔ¼öµéÀº Çì´õÆÄÀÏ 'stdlib.h'¿¡ ¼±¾ðµÇ¾î ÀÖ´Ù.

´ëºÎºÐÀÇ ÇÁ·Î±×·¥¿¡¼­, À̵é ÇÔ¼öµéÀº ¿ÍÀÌµå ¹®ÀÚ¿­°ú ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ¿­ »çÀÌÀÇ º¯È¯À» À§Çؼ­ ´ç½ÅÀÌ ÇÊ¿äÇÑ °ÍµéÀÌ´Ù. ±×·¯³ª ±×µéÀº Á¦ÇѵéÀ» °®´Â´Ù. ¸¸ÀÏ ´ç½ÅÀÇ µ¥ÀÌÅͰ¡ ³Î¹®ÀÚ·Î ³¡³ªÁö ¾Ê°Å³ª, µ¿½Ã¿¡ ¸ðµÎ ÄÚ¾î ¾È¿¡ ÀÖÁö ¾Ê´Ù¸é, ´ç½ÅÀº ¾Æ¸¶µµ ÇÑ ¹ø¿¡ ÇÑ ¹®ÀÚ¸¦ º¯È¯ÇÏ´Â Àú-¼öÁØ º¯È¯ÇÔ¼ö¸¦ »ç¿ëÇØ¾ß ÇÒ°ÍÀÌ´Ù. 18.7Àý [Converting One Char], 253 ÆäÀÌÁö ÂüÁ¶.

ÇÔ¼ö :

size_t mbstowcs (wchar_t *wstring, const char *string, size_t size)

mbstowcs("´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ¿­À» ¿ÍÀ̵å ij¸¯ÅÍ ¹®ÀÚ¿­·Î")ÇÔ¼ö´Â ³Î Á¾·á ¹®ÀÚ·Î ³¡³ª´Â ´ÙÁß¹ÙÀÌ Æ® ¹®ÀÚµé·Î ÀÌ·ç¾îÁø ¹®ÀÚ¿­À» ¿ÍÀ̵å ij¸¯ÅÍ ÄÚµåµéÀÇ ¹è¿­·Î º¯È¯ÇÑ´Ù. ±× ¹è¿­Àº wstring¿¡¼­ ½ÃÀÛÇÏ´Â ¹è¿­¿¡ ¿ÍÀÌµå ¹®ÀÚµéÀ» ÀúÀåÇϴµ¥, ±× ¹è¿­ÀÇ Å©±â°¡ sizeº¸´Ù´Â Ŭ ¼ö ¾ø´Ù. sizeÀÇ Å© ±â¿¡´Â ³Î Á¾·á¹®ÀÚ°¡ Æ÷ÇÔµÇÁö ¾Ê¾Ò´Ù, ±×·¡¼­ ¸¸ÀÏ size°¡ ÀÌ ÇÔ¼öÀÇ ½ÇÇà °á°úÀÎ ¹®ÀÚ¿­¿¡¼­ ¿ÍÀÌ µå ij·°ÅÍÀÇ ½ÇÁ¦ °³¼öº¸´Ù ÀÛ¾Ò´Ù¸é, ³Î Á¾·á¹®ÀÚ´Â ÀúÀåµÇÁö ¾Ê°ÔµÈ´Ù.

¹®ÀÚ¿­À» °¡Áö°í ¹®ÀÚµéÀ» º¯È¯ÇÏ´Â °ÍÀº Ãʱ⠽¬ÇÁÆ® »óȲÀ¸·Î ½ÃÀÛÇÑ´Ù. ¸¸ÀÏ À¯¿ëÇÏÁö ¾ÊÀº ´Ù Áß¹ÙÀÌÆ® ¹®ÀÚ ½ÃÄö½º°¡ ¹ß°ßµÇ¸é, ÀÌ ÇÔ¼ö´Â -1ÀÇ °ªÀ» ¸®ÅÏÇϰí, ±×·¸Áö¾Ê´Ù¸é, ¹è¿­ wstring¿¡ ÀúÀå µÈ ¿ÍÀ̵å ij·°ÅÍÀÇ °³¼ö¸¦ ¸®ÅÏÇÑ´Ù. ÀÌ °³¼ö´Â ³Î Á¾·á¹®ÀÚ°¡ Æ÷ÇÔµÇÁö ¾ÊÀº °ÍÀ¸·Î ¸¸ÀÏ °³¼ö°¡ sizeº¸´Ù ÀÛÀ¸¸é ³Î Á¾·á¹®ÀÚ°¡ ÀúÀåµÈ´Ù.

´ÙÀ½Àº °á°ú¸¦ ÀúÀåÇϱ⿡ ÃæºÐÇÑ °ø°£À» ÇÒ´çÇØ¼­, ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ¿­À» ¾î¶»°Ô º¯È¯ÇÏ´ÂÁö¸¦ º¸¿© ÁÖ´Â ¿¹Á¦ÀÌ´Ù.

wchar_t *

mbstowcs_alloc (const char *string)

{

size_t size = strlen (string) + 1;

wchar_t *buf = xmalloc (size * sizeof (wchar_t));

size = mbstowcs (buf, string, size);

if (size == (size_t) -1)

return NULL;

buf = xrealloc (buf, (size + 1) * sizeof (wchar_t));

return buf;

}

ÇÔ¼ö :

size_t wcstombs (char *string, const wchar_t wstring, size_t size)

wcstombs("¿ÍÀ̵å ij·°ÅÍ ¹®ÀÚ¿­À» ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ¿­·Î")ÇÔ¼ö´Â ³Î Á¾·á¹®ÀÚ·Î ³¡³ª´Â ¿ÍÀ̵å ij ·°ÅÍ ¹è¿­ wstringÀ» ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ¿­·Î º¯È¯ÇÏ´Â ÇÔ¼ö·Î, string¿¡¼­ ½ÃÀÛÇÏ¿© size ¹ÙÀÌÆ®º¸´Ù Å©Áö¾Ê°Ô ÀúÀåÇϴµ¥, ±× sizeÀÇ Å©±â°¡ º¯È¯µÈ ¹®ÀÚ¿­À» ÀúÀåÇϱ⿡ ÃæºÐÇÏ´Ù¸é ³Î Á¾·á¹®ÀÚµµ ÀúÀå µÈ´Ù. ¹®ÀÚµéÀÇ º¯È¯Àº Ãʱ⠽¬ÇÁÆ® »óȲÀ¸·Î ½ÃÀÛÇÑ´Ù.

³Î Á¾·á¹®ÀÚ´Â sizeÀÇ Å©±â¿¡ Æ÷ÇÔµÇÁö ¾Ê±â ¶§¹®¿¡, ¸¸ÀÏ sizeÀÇ Å©±â°¡ wstring¿¡¼­ ÇÊ¿ä·ÎÇÏ´Â ¹Ù ÀÌÆ®ÀÇ °³¼ö¿Í °°°Å³ª ´õ Àû´Ù¸é, ³Î Á¾·á¹®ÀÚ´Â ÀúÀåµÇÁö ¾Ê´Â´Ù. ¸¸ÀÏ À¯¿ëÇÑ ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ¿¡ ÇØ´çµÇÁö ¾ÊÀº Äڵ尡 ¹ß°ßµÇ¸é, ÀÌ ÇÔ¼ö´Â -1ÀÇ °ªÀ» ¸®ÅÏÇÑ´Ù. ±×·¸Áö¾Ê´Ù¸é, ¸®ÅϰªÀº ¹è¿­ string ¿¡ ÀúÀåµÈ ¹ÙÀÌÆ®µéÀÇ °³¼öÀÌ´Ù. ÀÌ °³¼ö´Â ³Î Á¾·á¹®ÀÚ°¡ Æ÷ÇÔµÇÁö ¾ÊÀº °ÍÀ¸·Î, ±× °³¼ö°¡ size º¸ ´Ù Àû´Ù¸é ³Î Á¾·á¹®ÀÚ°¡ ÀúÀåµÈ °ÍÀÌ´Ù.

18.6 ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ ±æÀÌ.

ÀÌ ÀýÀº ´ÙÁß ¹ÙÀÌÆ® ¹®ÀÚµé·Î ÀÌ·ç¾îÁø ¹®ÀÚ¿­À» ÇÑ ¹ø¿¡ Çѹ®ÀÚ¾¿ ¾î¶»°Ô Á¶»çÇÏ´ÂÁö¸¦ ¼³¸íÇÏ °í ÀÖ´Ù. ÀÌ·±ÀÏÀ» Çϴµ¥ µû¸£´Â ¾î·Á¿òÀº °¢°¢ÀÇ ÇÑ ¹®ÀÚ°¡ ¸î °³ÀÇ ¹ÙÀÌÆ®·Î ÀÌ·ç¾îÁ³´ÂÁö¸¦ ¾Ë ¾Æ¾ßÇÏ´Â °ÍÀÌ´Ù. ´ç½ÅÀº À̰ÍÀ» ÆÇ´ÜÇϴµ¥ mblen ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

ÇÔ¼ö : int mblen (const char *string, size_t size)

³Î Á¾·á¹®ÀÚ°¡ ¾ø´Â ¹®ÀÚ¿­À» °¡Áö°í mblenÇÔ¼ö¸¦ »ç¿ëÇϸé, string¿¡¼­ ½ÃÀÛÇÏ¿© ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ ¸¦ ±¸¼ºÇÏ´Â ¹ÙÀÌÆ®ÀÇ °³¼ö¸¦ ¸®ÅÏÇϴµ¥, size¹ÙÀÌÆ® ¸¸Å­¸¸ ½ÃÇèÇÑ´Ù. ( ¿©±â¼­ size´Â ´ç½ÅÀ̰¡Áö °í ÀÖ´Â µ¥ÀÌÅÍÀÇ ¹ÙÀÌÆ®ÀÇ °³¼ö·Î °ø±ÞÇÑ´Ù.) mblenÀÇ ¸®ÅϰªÀº ¼¼°¡Áö °¡´É¼ºÀ¸·Î ±¸ºÐµÈ´Ù: stringÀÇ Ã¹ ¹øÂ° size ¹ÙÀÌÆ®µéÀÌ À¯¿ëÇÑ ¹®ÀÚ·Î ½ÃÀÛÇÑ´ÂÁö, À¯¿ëÇÏÁö ¾ÊÀº ¹ÙÀÌÆ® ½ÃÄö½º·Î ½ÃÀÛ Çϰųª ´ÜÁö ÇÑ ¹®ÀÚÀÇ ÀϺÎÀÎÁö, ºñ¾îÀÖ´Â ¹®ÀÚ¿­ÀÎÁö. À¯¿ëÇÑ ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ¿¡¼­´Â, mblenÀº ±× ¹®ÀÚ(Àû¾îµµ ÇÑ °³ ÀÌ»óÀ̰í, °áÄÚ sizeº¸´Ù Ä¿¼­´Â ¾ÈµÈ´Ù)ÀÇ ¹ÙÀÌÆ®µéÀÇ °³¼ö¸¦ ¸®ÅÏ ÇÑ´Ù. À¯¿ëÇÏ Áö ¾ÊÀº ¹ÙÀÌÆ® ½ÃÄö½º¿¡¼­´Â, mblenÀº -1À» ¸®ÅÏÇÑ´Ù. ºñ¾îÀÖ´Â ¹®ÀÚ¿­¿¡¼­´Â, 0À» ¸®ÅÏÇÑ´Ù. ¸¸ÀÏ ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ Äڵ尡 ½¬ÇÁÆ® ¹®ÀÚµéÀ» »ç¿ëÇÑ´Ù¸é, mblenÀº ±×°ÍÀ» Á¶»çÇØ¼­ ½¬ÇÁÆ® »óȲÀ» °»½Å Çϰí À¯ÁöÇÑ´Ù. ¸¸ÀÏ ´ç½ÅÀÌ stringÀ¸·Î ³Î Æ÷ÀÎÅ͸¦ »ç¿ëÇÏ¿© mblenÀ» È£ÃâÇÑ´Ù¸é, Ç¥ÁØ Ãʱ⠰ªÀ¸ ·Î ½¬ÇÁÆ® »óȲÀ» ÃʱâÈ­ÇÑ´Ù. ±×°ÍÀº ¸¸ÀÏ ½ÇÁ¦·Î »ç¿ëµÈ ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ Äڵ尡 ½¬ÇÁÆ® »óȲÀ» °®°í ÀÖ´Ù¸é 0ÀÌ ¾Æ´Ñ °ªÀ» ¸®ÅÏÇÑ´Ù. 18.9Àý [Shift State] 256 ÆäÀÌÁö¸¦ ÂüÁ¶Ç϶ó. mblen ÇÔ¼ö´Â `stdlib.h'¿¡ ¼±¾ðµÇ¾î ÀÖ´Ù.

18.7 ÀÏ ´ë ÀÏ·Î È®ÀåµÈ ¹®ÀÚµéÀÇ º¯È¯.

´ç½ÅÀº mbtowc ÇÔ¼ö¸¦ »ç¿ëÇØ¼­, ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ¸¦ ÇÑ ¹ø¿¡ ÇÑÀÚ¾¿ ¿ÍÀ̵å ij¸¯ÅÍ·Î º¯È¯ÇÒ ¼ö ÀÖ´Ù. wctomb ÇÔ¼ö´Â ±× ¹Ý´ë ÀÛ¿ëÀ» ÇÑ´Ù. À̵é ÇÔ¼öµéÀº `stdlib.h'¿¡ ¼±¾ðµÇ¾î ÀÖ´Ù.

ÇÔ¼ö :

int mbtowc (wchar_t *result, const char *string, size_t size)

mbtowc( ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ¸¦ ¿ÍÀ̵å ij¸¯ÅÍ·Î ) ÇÔ¼ö´Â ³Î Á¾·á ¹®ÀÚ°¡ ¾ø´Â ¹®ÀÚ¿­À» °¡Áö°í È£Ãâ ÇßÀ» ¶§, stringÀÇ Ã³À½¿¡ Àִ ù ¹øÂ° ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ¸¦ ±×¿¡ ÇØ´çÇÏ´Â ¿ÍÀ̵å ij¸¯ÅÍ ÄÚµå·Î º¯ ȯÇÑ´Ù. ±×°ÍÀº °á°ú¸¦ *result¿¡ ÀúÀåÇÑ´Ù. mbtowc´Â size ¹ÙÀÌÆ® ¸¸Å­¸¸ ½ÃÇèÇÑ´Ù.( size´Â ´ç½Å ÀÌ °¡Áö°í ÀÖ´Â µ¥ÀÌÅÍÀÇ ¹ÙÀÌÆ®ÀÇ °³¼ö·Î °ø±ÞÇÑ´Ù. ) ³Î Á¾·á¹®ÀÚ°¡ ¾ø´Â stringÀ¸·Î È£ÃâµÈ mbtowc´Â ¼¼°¡Áö °¡´É¼ºÀ¸·Î ±¸ºÐµÈ´Ù: string¿¡ Àִ ù ¹øÂ° size ¹ÙÀÌÆ®µéÀÌ À¯¿ëÇÑ ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ·Î ½ÃÀÛÇÏ´ÂÁö, ±×µéÀÌ À¯¿ëÇÏÁö ¾Ê´Â ¹ÙÀÌÆ® ½ÃÄö½º·Î ½ÃÀÛÇϰųª ´ÜÁö ÇÑ ¹®ÀÚÀÇ ÀϺκÐÀÎÁö, ¶Ç´Â stringÀÌ ºñ¾îÀÖ´Â( ÇÑ °³ÀÇ ³Î ¹®ÀÚ) ¹®ÀÚ¿­À» °¡¸®Å°´ÂÁö. À¯¿ëÇÑ ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ¶ó¸é, mbtowc ´Â ±×°ÍÀº ¿ÍÀ̵å ij¸¯ÅÍ·Î º¯È¯ÇÏ¿© *result¿¡ ÀúÀåÇϰí, ±× ¹®ÀÚÀÇ ¹ÙÀÌÆ® °³¼ö¸¦ ¸®ÅÏÇÑ ´Ù ( Àû¾îµµ ÇÑ °³ ÀÌ»óÀ̰í, °áÄÚ sizeº¸´Ù Ä¿¼­´Â ¾ÈµÈ´Ù.). À¯¿ëÇÏÁö ¾ÊÀº ¹ÙÀÌÆ® ½ÃÄö½º¶ó¸é, mbtowc´Â -1À» ¸®ÅÏÇÑ´Ù. ºñ¾îÀÖ´Â ¹®ÀÚ¿­À̶ó¸é, 0À» ¸®ÅÏÇϰí, ¶ÇÇÑ *result¿¡µµ 0À» ÀúÀåÇÑ´Ù. ¸¸ÀÏ ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ Äڵ尡 ½¬ÇÁÆ® »óȲÀ» »ç¿ëÇÑ´Ù¸é, mbtowc´Â ±×°ÍÀ» °Ë»çÇÏ¿© ½¬ÇÁÆ® »óȲÀ» À¯ÁöÇÏ°í °»½ÅÇÑ´Ù. ¸¸ÀÏ ´ç½ÅÀÌ string¿¡ ³Î Æ÷ÀÎÅ͸¦ »ç¿ëÇÏ¿© mbtowc¸¦ È£ÃâÇϸé, ±×°ÍÀº Ç¥ÁØ ÃʱⰪÀ¸·Î ½¬ÇÁÆ® »óȲÀ» ÃʱâÈ­ ÇÑ´Ù. ±×°ÍÀº ¶ÇÇÑ ¸¸ÀÏ »ç¿ëÇϰí ÀÖ´Â ´ÙÁß¹ÙÀÌÆ® Äڵ尡 ½¬ÇÁ Æ® »óȲÀ» °®°í ÀÖ´Ù¸é 0ÀÌ ¾Æ´Ñ°ªÀ» ¸®ÅÏÇÑ´Ù. 18.9Àý [Shift State] 256 ÆäÀÌÁö ÂüÁ¶.

ÇÔ¼ö : int wctomb (char *string, wchar_t wchar)

wctomb("¿ÍÀ̵å ij¸¯Å͸¦ ´ÙÁß¹ÙÀÌÆ®·Î") ÇÔ¼ö´Â ¿ÍÀ̵å ij·°ÅÍ ÄÚµå wcharÀ» ±×¿¡ ÇØ´çÇÏ´Â ´ÙÁß ¹ÙÀÌÆ® ½ÃÄö½º·Î º¯È¯Çϰí, ±× °á°ú¸¦ stringÀÇ ÁÖ¼Ò¿¡¼­ ½ÃÀÛÇÏ´Â ¹ÙÀÌÆ®µé¿¡ ÀúÀåÇÑ´Ù. ¾Æ¹«¸® ¸¹ ¾Æµµ MB_CUR_MAX ¹®ÀÚµéÀÌ ÀúÀåµÈ´Ù. ³Î Á¾·á¹®ÀÚ°¡ ¾ø´Â ¹®ÀÚ¿­À» °¡Áö°í È£ÃâµÈ wctomb ÇÔ ¼ö´Â ¼¼°¡Áö °¡´É¼ºÀ¸·Î ±¸ºÐÇÑ´Ù: À¯¿ëÇÑ ¿ÍÀ̵å ij¸¯ÅÍ ÄÚµå( ´ÙÁß ¹ÙÀÌÆ® ¹®ÀÚ·Î º¯È¯µÉ ¼ö ÀÖ ´Â °Í.), À¯¿ëÇÏÁö ¾ÊÀº ÄÚµå, ±×¸®°í 0. À¯¿ëÇÑ Äڵ尡 ÁÖ¾îÁø wctomb´Â ±×°ÍÀº ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ·Î º¯È¯Çϰí stringÀ» ½ÃÀÛÀ¸·Î ¹ÙÀÌÆ®µéÀ» ÀúÀåÇÑ´Ù. ±×¸®°í ±×°ÍÀº ±× ¹®ÀÚÀÇ ¹ÙÀÌÆ®µéÀÇ °³¼ö¸¦ ¸® ÅÏÇÑ´Ù( Àû¾îµµ ÇÑ °³ ÀÌ»óÇϰí, °áÄÚ sizeº¸´Ù Ä¿¼­´Â ¾ÈµÈ´Ù.). ¸¸ÀÏ wcharÀÌ À¯¿ëÇÏÁö ¾ÊÀº ¿ÍÀÌ µå ij¸¯ÅÍ ÄÚµå¶ó¸é, wctomb´Â -1À» ¸®ÅÏÇÑ´Ù. ¸¸ÀÏ wcharÀÌ 0À̶ó¸é, ±×°ÍÀº 0À» ¸®ÅÏÇϰí, ¶ÇÇÑ *string¿¡µµ 0À» ÀúÀåÇÑ´Ù. ¸¸ÀÏ ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ Äڵ尡 ½¬ÇÁÆ® ¹®ÀÚµéÀ» »ç¿ëÇÑ´Ù¸é, wctomb´Â ±× °ÍÀ» Á¶»çÇØ¼­ ½¬ÇÁÆ® »óȲÀ» °»½ÅÇϰí À¯ÁöÇÑ´Ù. ¸¸ÀÏ ´ç½ÅÀÌ stringÀ¸·Î ³Î Æ÷ÀÎÅ͸¦ »ç¿ëÇØ¼­ wctomb¸¦ È£ÃâÇÑ´Ù¸é, Ç¥ÁØ ÃʱⰪÀ¸·Î ½¬ÇÁÆ® »óȲÀ» ÃʱâÈ­ ÇÑ´Ù. ¸¸ÀÏ »ç¿ëÇϰí ÀÖ´Â ´ÙÁß¹ÙÀÌ Æ® ¹®ÀÚ Äڵ尡 ½ÇÁ¦·Î ½¬ÇÁÆ® »óȲÀ» °®´Â´Ù¸é 0ÀÌ ¾Æ´Ñ°ªÀ» ¸®ÅÏÇÑ´Ù. 18.9Àý [Shift State] 256 ÆäÀÌÁö ÂüÁ¶.

wchar¿¡ 0À» ³Ö°í, stringÀÌ nullÀÌ ¾Æ´Ñ °ÍÀ» °¡Áö°í ÀÌ ÇÔ¼ö¸¦ È£ÃâÇϸé, ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ 0À» Àú ÀåÇϰí 0À» ¸®ÅÏÇϴ°ÍÀº ¹°·ÐÀ̰í ÀúÀåµÈ ½¬ÇÁÆ® »óȲÀ» ´Ù½Ã ÃʱâÈ­ ÇÏ´Â ºÎÀÛ¿ëÀ» °®´Â´Ù.

18.8 ¹®ÀÚ ´ë ¹®ÀÚ º¯È¯ÀÇ ¿¹Á¦

±â¼úÀÚ input À¸·ÎºÎÅÍ ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ ÅØ½ºÆ®¸¦ Àо ±×¿¡ ÇØ´çÇÏ´Â ¿ÍÀ̵å ij·°Å͵éÀ» ±â¼úÀÚ output¿¡ ¾²´Â ¿¹Á¦ ÇÁ·Î±×·¥ÀÌ´Ù. ¿ì¸®°¡ ÀÌ ¿¹Á¦¿¡¼­ ÀÏ´ëÀÏ·Î ¹®ÀÚµéÀ» º¯È¯ÇÏ·ÁÇÑ °ÍÀº mbstowcs ÇÔ¼ö°¡ ³Î ¹®ÀÚ°¡ ÀÖ´Ù¸é º¯È¯À» °è¼ÓÇÏÁö ¾Ê°í, ÀоîµéÀÎ ¸¹Àº ÀÔ·ÂÁß¿¡ ºÎºÐÀûÀ¸·Î À¯ ¿ëÇÏÁö ¾ÊÀº ¹®ÀÚ°¡ ÀÖ´Ù¸é À̰Ϳ¡ ¿ÏÀüÇÏ°Ô ´ëóÇÒ ¼ö ¾ø±â ¶§¹®ÀÌ´Ù.

int

file_mbstowcs (int input, int output)

{

char buffer[BUFSIZ + MB_LEN_MAX];

int filled = 0;

int eof = 0;

while (!eof)

{

int nread;

int nwrite;

char *inp = buffer;

wchar_t outbuf[BUFSIZ];

wchar_t *outp = outbuf;

/* ÀÔ·Â ÆÄÀϷκÎÅÍ ¹öÆÛ¸¦ ä¿î´Ù. */

nread = read (input, buffer + filled, BUFSIZ);

if (nread < 0)

{

perror ("read");

return 0;

}

/* ¸¸ÀÏ ÆÄÀÏÀÇ ³¡¿¡ µµ´ÞÇϸé, ´õ ÀÌ»ó ÀÐÁö¾Êµµ·Ï ±â·ÏÇ϶ó*/

if (nread == 0)

eof = 1;

/* filled´Â ¹öÆÛ¿¡ ÀÖ´Â ¹ÙÀÌÆ®ÀÇ °³¼öÀÌ´Ù. */

filled += nread;

/* ±×µé ¹ÙÀÌÆ®µéÀ» ¿ì¸®°¡ ÇÒ¼ö ÀÖ´Â ÇÑ ¸¹ÀÌ ¿ÍÀ̵å ij¸¯ÅÍ·Î º¯È¯Ç϶ó. */

while (1)

{

int thislen = mbtowc (outp, inp, filled);

/* À¯¿ëÇÏÁö ¾ÊÀº ¹®ÀÚ¿¡¼­ º¯È¯À» ¸ØÃç¶ó; À̰ÍÀº À¯¿ëÇÑ ¹®ÀÚÀÇ ´ÜÁö ù ¹øÂ° ºÎºÐÀ» ÀоúÀ½À» ÀǹÌÇÑ´Ù. */

if (thislen == -1)

break;

/* ³Î ¹®ÀÚ¸¦ ´Ù¸¥ ¹®ÀÚó·³ Ãë±ÞÇ϶ó, ±×·¯³ª ¶ÇÇÑ ½¬ÇÁÆ® »óȲÀ» Àç¼³Á¤Ç϶ó. */

if (thislen == 0) {

thislen = 1;

mbtowc (NULL, NULL, 0);

}

/* ÀÌ ¹®ÀÚ¸¦ Áö³ª¼­ ÁøÇàÇ϶ó. */

inp += thislen;

filled -= thislen;

outp++;

}

/* ¿ì¸®°¡ ¸¸µé¾ú´ø ¿ÍÀ̵å ij·°Å͵éÀ» ±â·ÏÇ϶ó */

nwrite = write (output, outbuf, (outp - outbuf) * sizeof (wchar_t));

if (nwrite < 0)

{

perror ("write");

return 0;

}

/* ¸¸ÀÏ ¿ì¸®°¡ ½ÇÁ¦ À¯¿ëÇÏÁö ¾ÊÀº ¹®ÀÚ¸¦ °¡Á³´ÂÁö º¸ÀÚ. */

if((eof && filled > 0) || filled >= MB_CUR_MAX)

{

error ("invalid multibyte character");

return 0;

}

/* ¸¸ÀÏ ¾î´À ¹®ÀÚµéÀÌ ¾Õ¿¡¼­ ¿Â°ÍÀÓ¿¡ Ʋ¸²¾ø´Ù¸é, ¹öÆÛÀÇ Ã³À½¿¡ ±×µéÀ» ÀúÀåÇ϶ó. */

if (filled > 0)

memcpy (inp, buffer, filled);

}

}

return 1;

}

18.9 ½¬ÇÁÆ® ½ÃÄö½ºµéÀ» »ç¿ëÇÑ ´ÙÁß¹ÙÀÌÆ® ÄÚµåµé.

¾î¶² ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ Äڵ忡¼­, ¾î´À ƯÁ¤ÇÑ ¹ÙÀÌÆ® ½ÃÄö½ºÀÇ Àǹ̰¡ °íÁ¤µÇÁö ¾ÊÀº °ÍÀÌ ÀÖ´Ù; ±× Àǹ̴ µ¿ÀÏÇÑ ¹®ÀÚ¿­ÀÇ Ã³À½¿¡ ÀÖ´Â ¾î¶² ½ÃÄö½º¿¡ ÀÇÁ¸ÇÑ´Ù. ÀüÇüÀûÀ¸·Î ±×°ÍÀº ´ÜÁö ¸î °³ÀÇ ½ÃÄö½º·Î¼­ ´Ù¸¥ ½ÃÄö½ºµéÀÇ Àǹ̸¦ º¯È­½Ãų¼ö ÀÖ´Ù; ±×µéÀ» ½¬ÇÁÆ® ½ÃÄö½º¶ó°í ºÎ¸£°í ¿ì¸®´Â ±× ´ÙÀ½¿¡ ³ªÅ¸³ª´Â ´Ù¸¥ ½ÃÄö½º¸¦ À§Çؼ­ ½¬ÇÁÆ® ½ÃÄö½º¸¦ ¼³Á¤ÇÑ´Ù°í ¸»ÇÑ´Ù.

½¬Æ®ÇÁ »óȲ°ú ½¬ÇÁÆ® ½ÃÄö½º¸¦ ¼³¸íÇϱâ À§Çؼ­, ¿ì¸®´Â ½ÃÄö½º 0200ÀÌ 0240¿¡¼­ 0377ÀÇ ¹üÀ§¸¦ °®´Â ¹ÙÀÌÆ®ÀÇ ½ÖÀ¸·Î ÇÑ ¹®ÀÚ¸¦ ³ªÅ¸³»´Â ÀϺ»¾î ¸ðµå¸¦ ½ÃÀÛÇÔÀ» ³ªÅ¸³»°í, ½ÃÄö½º 0201ÀÌ 0240¿¡ ¼­ 0377ÀÇ ¹üÀ§¸¦ °®°í ISO Latin-1ÀÇ ¹®ÀÚ ÁýÇÕ¿¡ µû¶ó ÇØ¼®µÇ´Â Latin-1 ¸ðµå¸¦ ½ÃÀÛÇÔÀ» ³ªÅ¸³½ ´Ù°í °¡Á¤ÇÏÀÚ. À̰ÍÀº µÎ°³ÀÇ ¼±Åð¡´ÉÇÑ ½¬ÇÁÆ® »óȲÀ» °¡Áø ´ÙÁß¹ÙÀÌÆ® ÄÚµå("ÀϺ»¾î ¸ðµå"¿Í "Latin-1 ¸ðµå")¸¦ °¡Áö°í, µÎ °³ÀÇ ½¬ÇÁÆ® ½ÃÄö½º´Â ƯÁ¤ÇÑ ½¬ÇÁÆ® »óȲµéÀ» ¼³Á¤ÇÑ´Ù.

»ç¿ëÇϰí ÀÖ´Â ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ Äڵ尡 ½¬ÇÁÆ® »óȲµéÀ» »ç¿ëÇÒ ¶§, mblen, mbtowc ±×¸®°í wctomb´Â ¹®ÀÚ¿­À» Á¶»çÇØ¼­ ÇöÀçÀÇ ½¬ÇÁÆ® »óȲÀ» °»½ÅÇϰí À¯ÁöÇÑ´Ù. ÀÌ·¯ÇÑ ÀÛ¾÷À» Àû´çÇÏ°Ô ¸¸µé±â À§Çؼ­, ´ç½ÅÀº ´ÙÀ½ÀÇ ±ÔÄ¢µéÀ» µû¶ó¾ß¸¸ ÇÑ´Ù.

둁 ¹®ÀÚ¿­¿¡ ´ëÇÑ Á¶»ç¸¦ ½ÃÀÛÇϱâ Àü¿¡, ´ÙÁß¹ÙÀÌÆ® ¹®ÀÚ ÁÖ¼Ò¸¦ ³Î Æ÷ÀÎÅÍ·Î ÇØ¼­ ±× ÇÔ¼ö¸¦ È£Ãâ Ç϶ó_¿¹¸¦µé¾î, mblen(NULL, 0). À̰ÍÀº Ç¥ÁØ ÃʱⰪÀ¸·Î ½¬ÇÁÆ® »óȲÀ» ÃʱâÈ­ÇÑ´Ù.

둁 ÇÑ ¹ø¿¡ Çѹ®ÀÚ¾¿, ¼ø¼­´ë·Î ¹®ÀÚ¿­À» Á¶»çÇ϶ó. "µÚ·Î"°¡Áö ¸»°í ÀÌ¹Ì Á¶»çÇß´ø ¹®ÀÚµéÀ» ´Ù½Ã Á¶»çÇÏÁö ¸»°í, ´Ù¸¥ ¹®ÀÚ¿­À» ó¸®ÇÏ´Â µ¿¾È ¹æÇØÇÏÁö ¸»¾Æ¶ó.

ÀÌµé ±ÔÄ¢µéÀ» µû¶ó mblenÀ» »ç¿ëÇÏ´Â ¿¹Á¦°¡ ÀÖ´Ù.

void

scan_string (char *s)

{

int length = strlen (s);

/* ½¬ÇÁÆ® »óȲÀ» ÃʱâÈ­Ç϶ó. */

mblen (NULL, 0);

while (1)

{

int thischar = mblen (s, length);

/* ¹®ÀÚ¿­ÀÇ ³¡°ú À¯¿ëÇÏÁö ¾ÊÀº ¹®ÀÚµéÀ» ó¸®Ç϶ó */

if (thischar == 0)

break;

if (thischar == -1)

{

error ("invalid multibyte character");

break;

}

/* ÀÌ ¹®ÀÚ¸¦ ³Ñ¾î¼­ ÁøÇàÇ϶ó */

s += thischar;

length -= thischar;

}

}

ÇÔ¼ö mblen, mbtowc ±×¸®°í wctombµéÀº »ç¿ëÇϰí ÀÖ´Â ´ÙÁß¹ÙÀÌÆ® Äڵ尡 ½¬ÇÁÆ® »óȲÀ» »ç¿ëÇÒ ¶§ ÀçÁøÀÔÇÏÁö ¾Ê´Â´Ù. ±×·¸Áö¸¸, ¾î´À ´Ù¸¥ ¶óÀ̺귯¸® ÇÔ¼öµµ À̵é ÇÔ¼öµéÀ» È£ÃâÇÏÁö ¾Ê±â ¶§¹® ¿¡, ´ç½ÅÀº ±× ½¬ÇÁÆ® »óȲÀÌ ´ç½ÅÀÌ ÀÌÇØÇÒ ¼ö ¾ø°Ô º¯ÇÒ°ÍÀ̶ó°í °ÆÁ¤ÇÒ Çʿ䰡 ¾ø´Ù.