[ 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)ÀÇ °øµ¿¹ø¿ªÀÔ´Ï´Ù.

Á¦ 4Àå ¹®ÀÚ ´Ù·ç±â

¹®ÀÚ¿Í ¹®ÀÚ¿­µéÀ» °¡Áö°í ÀÏÀ»ÇÏ´Â ÇÁ·Î±×·¥µéÀº Á¾Á¾ ÇÑ ¹®ÀÚ°¡ ¾ËÆÄºªÀÎÁö ¼ýÀÚÀÎÁö ¶Ç´Â °ø¹é ÀÎÁö, µî µîÀ» ºÐ·ùÇÒ ÇÊ¿ä¿Í °¢ ¹®ÀÚ¿­¿¡ ¿øÇÏ´Â º¯È¯À» ½ÃųÇʿ䰡 ÀÖ´Ù. 'ctype.h'¾È¿¡ ÀÖ´Â ÇÔ ¼öµéÀÌ ÀÌ¿Í °°Àº ¸ñÀûÀ» À§ÇÑ ÇÔ¼öµéÀ» Á¦°øÇÑ´Ù. ¹®ÀÚÁ¶ÇÕ°ú Áö¿ªÀ» ¼±ÅÃÇÑ ÈÄ¿¡ Ưº°ÇÑ ¹®ÀÚ ÄÚ µåµéÀÇ ºÎ·ù·Î º¯È­ ½Ãų¼ö Àִµ¥, ÀÌ ¸ðµç ÇÔ¼öµéÀº ÇöÀçÀÇ Áö¿ª¿¡ ÀÇÇØ ¿µÇâÀ» ¹Þ´Â´Ù.( ´õ Á¤¹Ð È÷ ¸»Çϸé LC_CTYPE ºÐ·ùÀÇ ¹®Àںзù¸¦ À§ÇØ ¼±ÅõǾîÁø ÇöÀçÀÇ À§Ä¡¿¡ ÀÇÇØ ¿µÇâÀ» ¹Þ´Â´Ù.; 19.3Àý[Locale Categories] 260ÆäÀÌÁö¸¦ ÂüÁ¶Ç϶ó.)

4.1 ¹®ÀÚµéÀÇ ºÐ·ù

ÀÌ ÀýÀº ¹®ÀÚµé ºÐ·ù¸¦ À§ÇÑ ¶óÀ̺귯¸® ÇÔ¼öµéÀ» ¼³¸íÇÑ´Ù. ¿¹¸¦ µé¸é isalpha´Â ÇÑ ¹®ÀÚ°¡ ¾ËÆÄ ºª ¹®ÀÚµéÀÎÁö Å×½ºÆ® ÇϱâÀ§ÇÑ ÇÔ¼öÀÌ´Ù. ÀÌ ÇÔ¼ö´Â Å×½ºÆ® ÇϱâÀ§ÇÑ ¹®ÀÚ¸¦ ÇϳªÀÇ Àμö·Î ÃëÇÏ¿©

¸¸¾à ±×°ÍÀÌ ¾ËÆÄºªÀÌ¸é ¿µÀÌ ¾Æ´Ñ Á¤¼ö¸¦ ¸®ÅÏÇÏ°í ´Ù¸¥ °æ¿ì´Â ¿µÀ» ¸®ÅÏÇÑ´Ù. ´ç½ÅÀ» À̰ÍÀ» ´Ù À½°ú °°ÀÌ »ç¿ëÇÒ¼ö ÀÖ´Ù.

if (isalpha (c))

printf ("The character `%c' is alphabetic.\n", c);

/* ¸¸¾à c°¡ ¾ËÆÄºªÀ̸é "À̹®ÀÚ´Â ¾ËÆÄºªÀÌ´Ù" ´Â°É ÇÁ¸°Æ® ÇϰÚÁÒ...? */

ÀÌ Àý¾ÈÀÇ °¢°¢ÀÇ ÇÔ¼öµéÀ» ¹®ÀÚµéÀÌ Æ¯º°ÇÑ ºÎ·ù¾È¿¡ ¼ÓÇÏ´ÂÁö¸¦ Å×½ºÆ® ÇϱâÀ§ÇÑ ÇÔ¼öµéÀÌ´Ù.; °¢°¢Àº 'is'·Î ÇÔ¼öÀ̸§ÀÌ ½ÃÀ۵ȴÙ. ±×µé ÇÔ¼ö´Â Å×½ºÆ® ÇϱâÀ§ÇÑ ¹®ÀÚ¸¦ ÇϳªÀÇ Àμö·Î ÃëÇϰí boolean°ªÀ¸·Î Ãë±ÞµÇ´Â Á¤¼ö¸¦ ¸®ÅÏÇÑ´Ù. ±× ¹®ÀÚÀμö´Â intÇüÀ¸·Î °£ÁÖµÇ°í ½ÇÁ¦ ¹®ÀÚ ´ë½Å¿¡ »ó ¼ö°ª EOF·Î µÇ¾îÁú °ÍÀÌ´Ù. ¾î´À ÁÖ¾îÁø ¹®ÀÚÀÇ ¼Ó¼ºÀº Áö¿ªµé¿¡ µû¶ó¼­ º¯È­ÇÒ¼ö ÀÖ´Ù. Áö¿ªµé¿¡ ´ëÇÑ ´õ ´Ù¾çÇÑ Á¤º¸´Â 19Àå[Locales] 259ÆäÀÌÁö¸¦ ÂüÁ¶Ç϶ó.

´ÙÀ½Àº 'ctype.h'ÀÇ Çì´õÆÄÀÏ¿¡ Á¤ÀÇµÈ ÇÔ¼öµéÀÌ´Ù.

ÇÔ¼ö int islower (int c)

¸¸¾à c°¡ ¼Ò¹®ÀÚÀ̸é Âü°ªÀ» ¸®ÅÏÇÑ´Ù.

ÇÔ¼ö int isupper (int c)

¸¸¾à c °¡ ´ë¹®ÀÚÀ̸é Âü °ªÀ» ¸®ÅÏÇÑ´Ù.

ÇÔ¼ö int isalpha (int c)

¸¸¾à c °¡ ¿µ¹®ÀÚÀ̸é Âü°ªÀ» ¸®ÅÏÇÑ´Ù. ¹®ÀÚ°¡ ´ë¹®ÀÚÀÌ°Ç ¼Ò¹®ÀÚÀÌ°Ç isalpha´Â ¸ðµÎ Âü°ªÀ» ¸®ÅÏ ÇÑ´Ù. ¾î¶² Áö¿ªµé¿¡¼­ isalpha¿¡ ÀÇÇØ ±×°ÍÀÌ ¼Ò¹®ÀÚÀÇ °æ¿ìµç ´ë¹®ÀÚÀÇ °æ¿ìµçÁö Âü°ªÀÌ ¸®Åϵǵµ ·Ï ´õÇØÁø ¹®ÀÚµéÀÌ ÀÖÀ»¼ö ÀÖ´Ù. ÇÏÁö¸¸ Ç¥ÁØC¾ð¾î¿¡¼­´Â ±×·¸°Ô ´õÇØÁø ¹®ÀÚµéÀÌ ¾ø´Ù.

ÇÔ¼ö int isdigit (int c)

¸¸¾à c °¡ ½ÊÁø¼ö('0'¿¡¼­ '9')À̸é Âü°ªÀ» ¸®ÅÏÇÑ´Ù.

ÇÔ¼ö int isalnum (int c)

¸¸¾à c °¡ ¿µ¼ýÀÚÀ̸é ( ¹®ÀÚÀ̰ųª ¼ýÀÚ ) Âü°ªÀ» ¸®ÅÏÇÑ´Ù.; isalpha³ª isdigit ¿¡ ÀÇÇØ Âü°ªÀÌ ¸® ÅϵǴ ¹®ÀÚ´Â isalnum¿¡¼­µµ Âü°ªÀ» ¸®ÅÏÇÑ´Ù.

ÇÔ¼ö int isxdigit (int c)

¸¸¾à c °¡ 16Áø¹ýÀÇ·Î »ç¿ëµÈ ¹®ÀÚ À̸é Âü°ªÀ» ¸®ÅÏÇÑ´Ù. 16Áø¼ö´Â ÀϹÝÀû 10Áø¼öÀÎ '0'¿¡¼­ '9'¿Í 'A'¿¡¼­ 'F" ±îÁö¿Í 'a'¿¡¼­ 'f'±îÁöÀÇ ¹®ÀÚ¸¦ Æ÷ÇÔÇÑ´Ù.

ÇÔ¼ö int ispunct (int c)

¸¸¾à c °¡ ±¸µÎ¹®ÀÚÀÎ °æ¿ì Âü°ªÀ» ¸®ÅÏÇÑ´Ù. À̰ÍÀº ¾ËÆÄºªÀ̳ª °ø¹é¹®ÀÚ´Â ¾Æ´ÏÁö¸¸ ÀμâÇÒ¼ö ÀÖ ´Â ¾î´À ¹®ÀÚ¸¦ ÀǹÌÇÑ´Ù.

ÇÔ¼ö int isspace (int c)

¸¸¾à c °¡ °ø¹é¹®ÀÚ(white space)À̸é Âü°ªÀ» ¸®ÅÏÇÑ´Ù. Ç¥ÁØ"C"¿¡¼­´Â ¿ÀÁ÷ °ø¹é¹®ÀÚ(white space) ¿¡ Âü°ªÀ» ¸®ÅÏÇÑ´Ù.

' ' space : °ø¹é

'\f' formfeed : Á¾À̳ѱè

'\n' newline : °³Çà

'\r' carriage return : º¹±Í¹®ÀÚ

'\t' horizontal tab : ¼öÆòÅÇ

'\v' vertical tab : ¼öÁ÷ÅÇ

ÇÔ¼ö int isbalnk (int c)

¸¸¾à c °¡ blank ¹®ÀÚÀ̸é Âü°ªÀ» ¸®ÅÏÇÑ´Ù.; À̰ÍÀº space³ª tabÀ» ¸»ÇÑ´Ù. ÀÌ ÇÔ¼ö´Â GNU È®ÀåÀÌ ´Ù.

ÇÔ¼ö int isgraph (int c)

¸¸¾à c °¡ ±×·¡ÇÈ ¹®ÀÚÀ̸é Âü°ªÀ» ¸®ÅÏÇÑ´Ù.; À̰ÍÀº »óÇü¹®ÀÚ¿Í ¿¬°üµÈ ¹®ÀÚ·Î °ø¹é¹®ÀÚ(white space)´Â ±×·¡ÇÈÀ¸·Î °£ÁÖµÇÁö ¾Ê´Â´Ù.

ÇÔ¼ö int isprint (int c)

¸¸¾à c °¡ ÇÁ¸°Æ®µÇ´Â ¹®ÀÚ¸é Âü°ªÀ» ¸®ÅÏÇÑ´Ù. ÇÁ¸°Æ®µÇ´Â ¹®ÀÚ¶õ ¸ðµç ±×·¡Çȹ®ÀÚ¿¡ ´õÇÏ¿© space (' ') ¹®ÀÚ¸¦ Æ÷ÇÔÇÑ´Ù.

ÇÔ¼ö int iscntrl (int c)

¸¸ÀÏ c °¡ Á¦¾î¹®ÀÚÀ̸é Âü°ªÀ» ¸®ÅÏÇÑ´Ù. ( ±×°ÍÀº ÇÁ¸°Æ®°¡ °¡´ÉÇÏÁö ¾ÊÀº ¹®ÀÚÀÌ´Ù. )

ÇÔ¼ö int isascii (int c)

¸¸ÀÏ c °¡ US/UK ¹®Àڼ ¾È¿¡ Á¤ÀÇµÈ 7ºñÆ® ºÎȣȭµÇÁö ¾ÊÀº ¹®ÀÚÀ̸é Âü°ªÀ» ¸®ÅÏÇÑ´Ù. ÀÌ ÇÔ¼ö ´Â BSD¿Í SVIDÈ®ÀåÀÌ´Ù.

4.2 º¯È¯

ÀÌÀýÀº ¹®ÀÚµéÀ» ¿øÇÏ´Â ¸ñÀû¿¡ ¸Âµµ·Ï º¯È¯À» ¼öÇàÇÏ´Â ¶óÀ̺귯¸® ÇÔ¼öµé¿¡ ´ëÇØ ¼³¸íÇϰí ÀÖ´Ù. ¿¹¸¦ µé¾î toupper º¯È¯Àº ±×°ÍÀÌ °¡´ÉÇÏ´Ù¸é ´ë¹®ÀÚ·Î ¾î´À ÇÑ ¹®ÀÚ¸¦ º¯È¯ÇÑ´Ù. ¸¸¾à ±× ¹®ÀÚ°¡ º¯È¯ÇÒ¼ö ¾ø´Â °ÍÀ̶ó¸é º¯È¯µÇÁö¾ÊÀº ¹®ÀÚ¸¦ ¸®ÅÏÇÑ´Ù.

ÀÌ ÇÔ¼öµéÀ» º¯È¯½ÃŰ±â ¿øÇÏ´Â ¹®ÀÚ¸¦ int ÇüÀ¸·Î ÀÎÀÚ¸¦ ¹Þ¾Æ¼­ ¹®ÀÚ¸¦ º¯È¯½ÃÄÑ ¸®ÅÏÇÑ´Ù. ¸¸¾à ÁÖ¾îÁø Àμö¿¡ Àû¿ëºÒ°¡´ÉÇÏ´Ù¸é ±× Àμö´Â º¯È¯µÇÁö¾Ê°í ¸®ÅϵȴÙ.

ȣȯ¼º¿¡ ´ëÇÑ ÂüÁ¶ : ANSI-C ÀÌÀü¿¡´Â º¯È¯µÇÁö ¾ÊÀº ¹®ÀÚ¸¦ ¸®ÅÏÇÏ´Â ´ë½Å¿¡ Àμö°¡ º¯È¯¿¡ Àû¿ëºÒ°¡´É ÇÏ´Ù¸é ÀÌ ÇÔ¼öµéÀº ±×³É ½ÇÆÐ¸¸ ÇÏ°í ¸¸´Ù. ±×·¡¼­ Àû¿ë¼ºÀ» À§Çؼ­ ´ÜÁö toupper(c) ¶ó°í¸¸ Çϴ°ͺ¸´Ü islower(c) ? toupper(c) : c ¶ó°í ¾²´Â °ÍÀÌ ÇÊ¿äÇÏ´Ù.

ÀÌ ÇÔ¼öµéÀ» Çì´õÆÄÀÏ 'ctype.h'¿¡ Á¤ÀǵǾî ÀÖ´Ù.

ÇÔ¼ö int tolower (int c)

¸¸¾à c °¡ ´ë¹®ÀÚ¶ó¸é ±×¿Í ´ëÀÀÇÏ´Â ¼Ò¹®ÀÚ¸¦ ¸®ÅÏÇÑ´Ù. ¸¸¾à c °¡ ´ë¹®ÀÚ°¡ ¾Æ´Ï¶ó¸é c´Â º¯È­µÇ Áö ¾Ê°í ¸®ÅϵȴÙ.

ÇÔ¼ö int toupper (int c)

¸¸¾à c °¡ ¼Ò¹®ÀÚ¶ó¸é ±×°Í¿¡ ´ëÀÀÇÏ´Â ´ë¹®ÀÚ¸¦ ¸®ÅÏÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é º¯È­µÇÁö ¾ÊÀº c¸¦ ¸®ÅÏ ÇÑ´Ù.

ÇÔ¼ö int toascii (int c)

ÀÌ ÇÔ¼ö´Â c¸¦, cÀÇ °¡Àå »óÀ§ ºñÆ®¸¦ Ŭ¸®¾î ÇÔÀ¸·Î½á US/UK ASCII ¹®Àڼ ¾È¿¡ Á¸ÀçÇÏ´Â 7ºñÆ® ºñºÎȣȭ ¹®ÀÚ°ªÀ¸·Î º¯È¯½ÃŲ´Ù. ÀÌ ÇÔ¼ö´Â BSD¿Í SVIDÈ®ÀåÀÌ´Ù.

ÇÔ¼ö int __tolower (int c)

ÀÌ ÇÔ¼ö´Â ¼Ò¹®ÀÚ·Î º¯È¯½ÃŰ´Â ÇÔ¼ö·Î SVID¿¡ ȣȯ¼ºÀ» À§ÇØ Á¦°øµÇ°í ÀÖ´Ù. 1.2.4Àý [SVID] 2ÆäÀÌ Áö¸¦ º¸¶ó.

ÇÔ¼ö int __toupper (int c)

ÀÌ ÇÔ¼öµµ À§ÀÇ __tolower(int c)ó·³ SVIDÀÇ È£È¯¼ºÀ» À§ÇØ Á¦°øµÇ´Â ÇÔ¼ö·Î ¹®ÀÚ¸¦ ´ë¹®ÀÚ·Î º¯È¯ ½ÃŰ´Â ±â´ÉÀ» ÇÑ´Ù.