12-1-¹Ù.¹®ÀÚ °ü¸® ÇÔ¼ö

´ÙÀ½Àº ¹®ÀÚ¿­À» ±¸¼ºÇÏ´Â °³º° ¹®ÀÚµéÀ» °ü¸®ÇÏ´Â ÇÔ¼ö¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ. ÀÌ ÇÔ¼öµéÀº Àμö·Î Àü´ÞµÈ ¹®ÀÚ°¡ ƯÁ¤ ±×·ì¿¡ ¼ÓÇÏ´ÂÁö Á¶»çÇϴµ¥ ±×·ì¿¡ ¼ÓÇϸé 0ÀÌ ¾Æ´Ñ °ªÀ» ¸®ÅÏÇÏ°í ±×·¸Áö ¾Ê´Ù¸é 0À» ¸®ÅÏÇÑ´Ù. ¸ðµÎ ctype.h¿¡ ¼±¾ðµÇ¾î ÀÖÀ¸¸ç C Ç¥ÁØ ÇÔ¼ö Áß¿¡ ¼Õ¿¡ ²ÅÀ»¸¸Å­ ½¬¿î ÇÔ¼öµéÀÌ¶ó µµÇ¥·Î °£´ÜÇÏ°Ô Á¤¸®Çϵµ·Ï ÇÑ´Ù.

 

ÇÔ¼ö

ÂüÀÌ µÇ´Â ¹®ÀÚ ¹üÀ§

int isalpha(int c);

A-Z, a-z

int isupper(int c);

A-Z

int islower(int c);

a-z

int isdigit(int c);

0-9

int isxdigit(int c);

0-9, A-F, a-f

int isalnum(int c);

0-9, A-Z, a-z

int isprint(int c);

Àμ⠰¡´ÉÇÑ ¹®ÀÚ

int isgraph(int c);

°ø¹éÀ» Á¦¿ÜÇÑ Àμ⠰¡´ÉÇÑ ¹®ÀÚ

int ispunct(int c);

Àμ⠰¡´ÉÇÑ ¹®ÀÚÁß °ø¹é°ú isalnumÀ» Á¦¿ÜÇÑ ¹®ÀÚ

int isspace(int c);

0x09-0x0d, 0x20

 

ƯÁ¤ ¹®ÀÚ°¡ ¾ËÆĺªÀÎÁö, ¼ýÀÚÀÎÁö µîÀ» ÆÇ´ÜÇÏ°í ½ÍÀ» ¶§ ÀÌ ÇÔ¼öµéÀ» È£ÃâÇÑ´Ù. ¿¹¸¦ µé¾î Á¡¼ö¸¦ ÀÔ·ÂÇÒ ¶§´Â ÀԷ¹ÞÀº ¸ðµç ¹®ÀÚ°¡ ¾Æ¶óºñ¾Æ ¼ýÀÚÀÎÁö Á¡°ËÇØ¾ß Çϸç À̶§´Â isdigit ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù. ´ÙÀ½ µÎ ÇÔ¼ö´Â ¿µ¹® ´ë¼Ò¹®ÀÚ¸¦ º¯È¯ÇÑ´Ù.

 

int tolower(int c);

int toupper(int c);

 

¸¸¾à c°¡ ¿µ¹®ÀÚ°¡ ¾Æ´Ï¶ó¸é ¾Æ¹« µ¿ÀÛµµ ÇÏÁö ¾ÊÀ¸¸ç c¸¦ ±×´ë·Î ¸®ÅÏÇÑ´Ù. ÀԷ°ªÀ» ºñ±³ÇÒ ¶§ µÑ ´Ù ºñ±³ÇÏ´Â °Íº¸´Ù ÇÑÂÊÀ¸·Î ¹Ù²Û ÈÄ ºñ±³ÇÏ´Â °ÍÀÌ ´õ ½±´Ù. ´ÙÀ½ µÎ ÄÚµå´Â µ¿ÀÏÇÏ´Ù.

 

if (ch == 'A' || ch == 'a') { ... }

if (tolower(ch) == 'a') { ... }

 

µÎ Á¶°ÇÀ» || ³í¸® ¿¬»êÀÚ·Î ºñ±³ÇÏ´Â °Íº¸´Ù ¼Ò¹®ÀÚ·Î ¹Ù²Û ÈÄ 'a'¿Í ºñ±³ÇÏ´Â °ÍÀÌ ÈξÀ ´õ ½±´Ù. ¹°·Ð ´ë¹®ÀÚ·Î ¹Ù²Û ÈÄ 'A'¿Í ºñ±³Çصµ °á°ú´Â °°´Ù. ƯÈ÷ switch¹®ÀÇ °æ¿ì ´ë¼Ò¹®ÀÚº°·Î ÀÏÀÏÀÌ case¸¦ µÎ ¹ø ¾²´Â °Íº¸´Ù º¯È¯ÇÑ °á°ú·Î ´ÙÁß ºÐ±â¸¦ ÇÏ´Â °ÍÀÌ ÈξÀ ´õ °£´ÜÇÏ°í ±ò²ûÇÏ´Ù.

 

switch (ch) {

     case 'A':

     case 'a':

          ¾î¼°í Àú¼°í;break;

     case 'B':

     case 'b':

          ½Ã²ø ½Ã²ø;break;

     // °è¼Ó ÀÌ·± ½ÄÀ¸·Î ´ÙÁß ºÐ±â

}

 

switch (tolower(ch)) {

     case 'a':

          ¾î¼°í Àú¼°í;break;

     case 'b':

          ½Ã²ø ½Ã²ø;break;

     // °è¼Ó ÀÌ·± ½ÄÀ¸·Î ´ÙÁß ºÐ±â

}

 

´©°¡ ºÁµµ ¿ÞÂÊÀÇ Äڵ庸´Ù´Â ¿À¸¥ÂÊÀÇ Äڵ尡 ´õ °£´ÜÇØ º¸ÀÌ°í °¡µ¶¼ºµµ ³ô´Ù. »Ó¸¸ ¾Æ´Ï¶ó ¼Óµµµµ ºü¸£°í ¸Þ¸ð¸®µµ Àû°Ô Â÷ÁöÇÑ´Ù.