ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
ÇöÀçÀ§Ä¡ : article>Ç¥ÁØ C¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇÑ ¹®ÀÚ¿ ´Ù·ç±â
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù. C ¿¡¼ÀÇ ¹®ÀÚ¿C´Â ¿øÄ¢ÀûÀ¸·Î ¹®ÀÚ¸¦ ¹®ÀÚ°´Ã¼·Î ´Ù·çÁö ¾Ê´Â´Ù. ¾Ö½Ã´çÃÊ ¹®ÀÚ¿À̶õ°Ô Á¸ÀçÇÏÁö ¾ÊÀ¸¸ç, ¹è¿·Î ´Ù·ê »ÓÀÌ´Ù.±×·¯¹Ç·Î ¿ì¸®´Â Æ÷ÀÎÅÍ È¤Àº ¹è¿Ã·ÀÚ¸¦ ÅëÇØ¼ ¹®ÀÚ¿À» ´Ù·ç¾î¾ß Çϴµ¥, Æ÷ÀÎÅ͸¦ ´Ù·ç¾îº»»ç¶÷Àº ¾Ë°ÚÁö¸¸, Æ÷ÀÎÅ͸¦ ÅëÇØ¼ ¹®ÀÚ¿À» ´Ù·ç´Â ÀÛ¾÷Àº ¸Å¿ì Â¥Áõ³ª´Â ÀÛ¾÷À̸ç, ¶ÇÇÑ ¸¹Àº ½Ã°£ÀÌ ÅõÀڵǴ ÀÛ¾÷ÀÌ´Ù. C¿¡´Â ÀÌ·¯ÇÑ ÀÛ¾÷À» ´ë½ÅÇØÁÙ ¸¹Àº ÇÔ¼öµéÀÌ Á¦°øµÇ´Âµ¥, ´ëºÎºÐ "string.h" Çì´õÆÄÀÏ¿¡ ¼±¾ðµÇ¾î ÀÖ´Ù. ÇÔ¼ö¼³¸í¿¡ µé¾î°¡±â Àü¿¡strcpy, strcat °°Àº ÇÔ¼ö¸¦ ¾²Áö ¾Ê´Â°Ô ÁÁ´Ù. strncpy, strncat ¿Í °°ÀÌ À̸§¿¡ "n"À» °¡Áö°í ÀÖ´Â ÇÔ¼öµéÀ» ¼±ÅÃÇÏ´Â°Ô ÁÁ´Ù.ÀÌÀ¯´Â strcpy, strcat µîµîÀÇ ÇÔ¼ö´Â ¾ó¸¶¸¸ÅÀÇ ¹®ÀÚ¿ÀÌ »ç¿ëµÉÁö ±× Å©±â¸¦ ÁöÁ¤ÇÒ¼ö ¾øÀ¸¹Ç·Î, ¹öÆÛ¿À¹öÇ÷Π¿À·ù¸¦ ÀÏÀ¸Å³¼ö Àֱ⠶§¹®ÀÌ´Ù. ÀÌ·¯ÇÑ °ÍÀº ¶§¶§·Î ÇÁ·Î±×·¥¹ö±×°¡ µÉ¼ö ÀÖÀ¸¸ç, ÀÌ·¯ÇÑ ¹ö±×¸¦ ÀÌ¿ëÇÑ Å©·¡Å·ÀÌ °¡´ÉÇÒ¼ö Àֱ⠶§¹®ÀÌ´Ù. "n" ÀÌ ºÙÀº ÇÔ¼ö¸¦ »ç¿ëÇϸé, »ç¿ëµÇ¾îÁú ¹®ÀÚ¿ÀÇ Å©±â¸¦ ÁöÁ¤ÇÒ¼ö ÀÖÀ½À¸·Î, ÇÊ¿äÀÌ»óÀ¸·Î ¹®ÀÚ¿ÀÌ »ç¿ëµÇ´Â°ÍÀ» ¹æÁöÇÒ¼ö ÀÖ´Ù. ´ÙÀ½ ¿¹Á¦¸¦ º¸¶ó ¿¹Á¦ : strcpy.c
À§ÀÇ ¸í·ÉÀ» ÄÄÆÄÀÏ ÇØº¸ÀÚ.. ¾ÈŸ±õ°Ôµµ, ¾Æ¹«·± ¿¡·¯³ª °æ°í ¸Þ½ÃÁö°¡ ¶³¾îÁöÁö ¾Ê°í ÇÁ·Î±×·¥ÀÌ ÄÄÆÄÀÏ µÊÀ» ¾Ë¼ö ÀÖ´Ù. ÄÄÆÄÀϽà ¸ðµç Á¾·ùÀÇ °æ°í¸Þ½ÃÁö¸¦ º¸³»¶ó´Â -Wall ¿É¼ÇÀ» Á൵ ¾Æ¹«·± °æ°í¸Þ½ÃÁö¸¦ »Ñ·ÁÁÖÁö ¾Ê´Â´Ù.
Àß½ÇÇà µÉ¶§µµ ÀÖ°í ±×·¸Áö ¾ÊÀ»¶§µµ ÀÖ´Ù. ¿îÀÌ ÁÁÀ¸¸é core dump ³»°í ÇÁ·Î±×·¥ »¸¾î¹ö¸±°ÍÀ̰í, (¿¡·¯°¡ ¹ß»ýÇß´Ù´Â°É ¾Ë°í ÇÁ·Î±×·¥ µð¹ö±ë ÀÛ¾÷¿¡ µé¾î°¥°ÍÀ̹ǷÎ) ¿îÀÌ ³ª»Ú¸é °è¼Ó ½ÇÇàµÉ°ÍÀ̰í, ÀáÀçÀûÀ¸·Î »¸¾î¹ö¸± À§Çè ȤÀº Å©·¡Å· ´çÇÒ À§ÇèÀ» °¡Áö´Â ÇÁ·Î±×·¥ÀÌ µÉ°ÍÀÌ´Ù. °Ô´Ù°¡ Àú·±·ùÀÇ ¿À·ù´Â µð¹ö±ëÇϱ⵵ ±î´Ù·Ó´Ù. ±×·¯¹Ç·Î ¹«Á¶°Ç "n" ÀÌ ºÙÀº ÇÔ¼ö¸¦ »ç¿ëÇϵµ·Ï ÇØ¾ß ÇÑ´Ù. ¹®ÀÚ¿ º¹»ç ÇÔ¼ö¹®ÀÚ¿ º¹»çÇÔ¼ö´Â ¾Æ¸¶µµ °¡Àå ºó¹øÈ÷ »ç¿ëÇÏ´Â ¹®ÀÚ¿ Á¶ÀÛ ÇÔ¼ö°¡ µÉ°ÍÀÌ´Ù. ´ÙÀ½°ú °°Àº 3°¡ÁöÀÇ ÇÔ¼öµéÀÌ ÀÖ´Ù.
char *dest ´Â º¹»çµÇ´Â ¸ñÀûÁöÀÇ ¹®ÀÚ¿ÀÇ Æ÷ÀÎÅÍÀÌ´Ù. const void *src ´Â void *dest ¿¡ º¹»çÇÒ ¹è¿ÀÇ Æ÷ÀÎÅÍÀÌ´Ù. const char *src ´Â char *dest ¿¡ º¹»çÇÒ ¹®ÀÚ¿ÀÇ Æ÷ÀÎÅÍÀÌ´Ù. À§ÀÇ ¸ðµç ÇÔ¼ö´Â dest ÀÇ Æ÷ÀÎÅ͸¦ ³Ñ°ÜÁØ´Ù. memcpy ´Â ±âº»ÀûÀ¸·Î ¸Þ¸ð¸®¸¦ º¹»çÇÏ´Â ÇÔ¼öÀ̹ǷÎ, Çü¿¡ °ü°è¾øÀÌ º¹»ç°¡ °¡´ÉÇÏ´Ù. ¹Ý¸é strcpy°ú strncpyÀº ¹®ÀÚ¿À» º¹»çÇÏ´Â ÇÔ¼öÀ̹ǷÎ, ´ÜÁö ¹®ÀÚ¿¿¡ ´ëÇØ¼¸¸ º¹»ç°¡ °¡´ÉÇÒ°ÍÀÌ´Ù. strcpy ´Â char *dest ¿¡ ¾ó¸¶¸¸Å º¹»çµÉÁö Å©±â¸¦ Á¦ÇÑÇÒ¼ö ¾ø´Ù. ±×·¯¹Ç·Î strcpy ´ë½Å¿¡ strncpyÀ» »ç¿ëÇϵµ·Ï ÇÑ´Ù. ¹®ÀÚ¿ ¿¬°áÇÔ¼ö¹®ÀÚ¿ÀÇ µÚ¿¡ ¹®ÀÚ¿À» ºÙÀ̰íÀÚ ÇÒ¶§ »ç¿ëÇÑ´Ù.
char *src ´Â char *dest ¿¡ µ¡ºÙÀÏ ¹®ÀÚ¿ÀÇ Æ÷ÀÎÅÍÀÌ´Ù. size_t n Àº º¹»çÇÒ ¹®ÀÚ¿ÀÇ Å©±âÀÌ´Ù. strcat °ú strncat ¸¦ »ç¿ëÇϸé char *dest ÀÇ ¸¶Áö¸· ¹®ÀÚÀÎ '\0'ÀÌ Á¦°ÅµÇ°í, ±× µÚ¿¡ char *src °¡ ºÙ°Ô µÈ´Ù. strcat ´Â »ç¿ëÇÏÁö¸»¶ó. ´ë½Å strncat ¸¦ »ç¿ëÇ϶ó. ¹®ÀÚ¿ ºñ±³ÇÔ¼ö¹®ÀÚ¿À» ºñ±³Çϱâ À§Çؼ »ç¿ëÇÏ´Â ÇÔ¼öµéÀÌ´Ù.ºñ±³ÈÄ ³Ñ°ÜÁÖ´Â °ª¿¡ ´ëÇØ¼ È¥µ¿ÇÒ¼ö ÀÖÀ¸´Ï ÁÖÀÇ ÇØ¾ß ÇÑ´Ù.
memcpmÀº s1°ú s2 ÀÇ Ã³À½ n¹ÙÀÌÆ®ÀÇ ¸Þ¸ð¸®¸¦ ºñ±³ÇÑ´Ù. ¸¸¾à s1 ÀÌ s2 º¸´Ù ÀÛÀ¸¸é 0 º¸´Ù ÀÛÀº Á¤¼ö, s1 °ú s2 °¡ °°´Ù¸é 0, s1 ÀÌ s2 º¸´Ù Å©´Ù¸é 0º¸´Ù Å«Á¤¼ö¸¦ ¹ÝȯÇÑ´Ù. strcmpÀº s1 °ú s2 ÀÇ ¹®ÀÚ¿Àüü¸¦(³ÎÀ» ¸¸³¯¶§±îÁö) ºñ±³ÇÑ´Ù. s1ÀÌ s2 º¸´Ù ÀÛÀ¸¸é 0 º¸´Ù ÀÛÀºÁ¤¼ö, °°´Ù¸é 0, ´õ Å©´Ù¸é 0º¸´Ù Å« Á¤¼ö¸¦ ¹ÝȯÇÑ´Ù. strncmp´Â strcmp ¿Í ºñ½ÁÇÏÁö¸¸ n ¹ÙÀÌÆ®¸¸Å¸¸À» °Ë»çÇÑ´Ù. s1ÀÌ s2 º¸´Ù ÀÛÀ¸¸é 0º¸´Ù ÀÛÀºÁ¤¼ö, °°À¸¸é ¤À, ´õÅ©¸é 0º¸´Ù Å« Á¤¼ö¸¦ ¹ÝȯÇÑ´Ù. ¹®ÀÚ¿ ã±â
strspn ¹®ÀÚ¿ accept ¿¡ ÀÖ´Â ¹®ÀÚµé·Î ÀÌ·ç¾îÁ® ÀÖ´Â s ÀÇ Ãʱ⠹®ÀÚ¿ÀÇ ±æÀ̸¦ °è»êÇÑ´Ù. ±æÀ̸¦ °è»êÇÑ´Ù. strcspn reject ¿¡ ¾ø´Â ¹®ÀÚµé·Î ÀÌ·ç¾îÁ® ÀÖ´Â sÀÇ Ãʱ⠹®ÀÚ¿ÀÇ ±æÀ̸¦ °è»êÇÑ´Ù. strpbrk ¹®ÀÚ¿ s¿¡¼ ¹®ÀÚ¿ accept ³»ÀÇ ¹®ÀÚµéÁß Çϳª°¡ óÀ½ ¹ß°ßµÇ´Â °÷À» ã¾Æ¼ ¹ß°ßµÈ s¹®ÀÚ¿ÀÇ Æ÷ÀÎÅ͸¦ µ¹·ÁÁØ´Ù. strchr ¹®ÀÚ¿ s ¿¡¼ ¹®ÀÚ c °¡ óÀ½¹ß°ßµÈ°÷ÀÇ Æ÷ÀÎÅ͸¦ ¹ÝȯÇÑ´Ù. strrchr ¹®ÀÚ¿ s ¿¡¼ ¹®ÀÚ c °¡ ¸¶Áö¸· ¹ß°ßµÈ °÷ÀÇ Æ÷ÀÎÅ͸¦ ¹Ýȯ ÇÑ´Ù. strstr ¹®ÀÚ¿ s ¿¡¼ ¹®ÀÚ¿ substring ÀÌ Ã³À½¹ß°ßµÈ °÷ÀÇ Æ÷ÀÎÅ͸¦ µ¹·ÁÁØ´Ù. ¹ß°ßµÇÁö ¾ÊÀ¸¸é NULL À» µ¹·ÁÁØ´Ù. strtok man ÆäÀÌÁö¸¦ º¸¸é »ç¿ëÇØ¼´Â ¾ÈµÈ´Ù°í °æ°íÇϰí ÀÖ´Ù. strtok °¡ ÇÏ´Â ÀÏÀº delim À» Åä±ÙÀ¸·Î ÇØ¼ ¹®ÀÚ¿À» ÆÄ½ÌÇÏ´Â °ÍÀÌ´Ù. ¿¬¼Ó ÀûÀ¸·Î È£ÃâÇϱâ À§Çؼ´Â óÀ½ÀÎÀÚ¸¦ NULL ·Î ¼³Á¤ÇؾßÇÑ´Ù. È£ÃâÇÒ¶§ ¸¶´Ù ´ÙÀ½ ÅäÅ«ÀÌ ¹ß»ýµÈ Æ÷ÀÎÅ͸¦ ¹ÝȯÇϸç, ´õÀÌ»ó ¹ß°ßµÇÁö ¾ÊÀ¸¸é NULLÀ» ¹ÝȯÇÑ´Ù. ¹®ÀÚ¿ ã±â ÇÔ¼ö¿¡ ´ëÇØ¼ ¼³¸íÀ» ½á³õ±â´Â ÇÞÁö¸¸, Àú°Ô ¹«½¼¸»ÀÎÁö ¾Ë¼Û´Þ¼Û ÇÒ°ÍÀ¸·Î »ý°¢µÈ´Ù. ´ÙÀ½ ¿¹Á¦¸¦ ÅëÇØ¼ È®½ÇÈ÷ ÀÌÇØÇÒ¼ö ÀÖÀ»°ÍÀÌ´Ù. ¿¹Á¦ string.c
±âŸ ÇÔ¼ö
sterror ¸¹Àº Á¾·ùÀÇ ÇÔ¼ö°¡ ¿¡·¯°¡ ¹ß»ýÇßÀ»¶§, errno ¸¦ µ¹·ÁÁִµ¥, sterror ¿¡ ÀÌ errno ¹øÈ£¸¦ ÁÖ¸é, ÇØ´ç ¿¡·¯¿¡ ´ëÇÑ ³»¿ëÀ» ¹®ÀÚ¿·Î µÇµ¹·ÁÁØ´Ù. strlen ÀÚÁÖ»ç¿ëÇÏ´Â ÇÔ¼öÀϰÍÀÌ´Ù. ¹®ÀÚ¿ÀÇ ±æÀ̸¦ µ¹·ÁÁִµ¥, '\0' À» ¸¸³ª±â Àü±îÁöÀÇ ¹®ÀÚ¿À» µ¹·ÁÁØ´Ù. strcasecmp ´ë¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÏÁö ¾Ê°í s1°ú s2 ¹®ÀÚ¿À» ºñ±³ÇÑ´Ù. s1 ÀÌ s2 º¸´Ù ÀÛÀ¸¸é 0º¸´ÙÀÛÀº Á¤¼ö, °°À¸¸é 0, s1 ÀÌ s2 º¸´Ù Å©¸é 0º¸´ÙÅ« Á¤¼ö¸¦ µ¹·ÁÁØ´Ù. ´ÙÀ½Àº strerror ÀÇ »ç¿ë¿¹Á¦ÀÌ´Ù. ¿¡Á¦ streeror.c
ÀÌ errno ¸¦ strerror ¿¡ ³Ö¾îÁÖ¸é, errno ¿¡ ¸ÅĪµÇ´Â ¿¡·¯¸Þ½ÃÁö¹®ÀÚ¿À» µ¹·ÁÁØ´Ù. strerror Àº µð¹ö±ë¿ëµµ·Î ¸¹ÀÌ »ç¿ëµÇ´Â ÇÔ¼öÀÌ´Ù. |
|
||||||||||
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|