http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_programming&no=8 [º¹»ç]
>strcat À̶ó´Â ¸í·É¾î´Â ¾î¶³¶° ¾²´Â°Ç°¡¿ä
>strcpy ¶û °¡Ä¡¿ä!!
¸ÕÀú.. ÀÌ·±°ÍÀº.. ¸í·É¾î°¡ ¾Æ´Ï¶ó..
ÇÔ¼ö¶ó°í ÇÕ´Ï´Ù.. strcat() ÇÔ¼ö, strcpy() ÇÔ¼ö..
ÀÌ·¸°Ô ºÎ¸¨´Ï´Ù..
±×¸®°í.. strcat() ÀÇ ÇÔ¼ö¿øÇüÀº
char *strcat(char *dest, const char *src);
·Î µÇ¾î ÀÖ½À´Ï´Ù.
ÇÔ¼ö¿øÇüÀ̶ó´Â°ÍÀº prototype ¶ó°í ÇÏ¿©, ÇØ´ç ÇÔ¼ö¸¦ »ç¿ëÇÒ¶§ ÇÊ¿äÇÑ Á¶°ÇÀ»
±âÁØÀ¸·Î Á¤ÇسõÀº°ÍÀ» ¸»ÇÕ´Ï´Ù.
strcat() ÇÔ¼öÀÇ ±â´ÉÀº ¹®ÀÚ¿ÀÇ ¿¬°áÀÌ °¡Àå ±âº»ÀûÀÌ µÇ¸ç,
dest º¯¼öÀÇ ¹®ÀÚ¿ µÚ¿¡ src ¹®ÀÚ¿ÀÌ ¿¬°áµÇ°Ô µË´Ï´Ù.
int main()
{
char dst[10];
char *src = "EFGH";
strcpy(dst, "ABCD");
strcat(dst, src);
printf("dst: %s\n", dst);
}
À§ÀÇ Äڵ带 ½ÇÇàÇغ¸¸é dst ÀÇ Ãâ·Â°ªÀº "ABCDEFGH" °¡ µË´Ï´Ù.
Á¶±Ý ´õ °í±ÞÂÊÀ¸·Î µé¾î°¡¸é.. dst µÚ¿¡ src °¡ ¿Ã¶§
dst ¿¡ Æ÷ÇԵǾî ÀÖ´Â NULL ¹®ÀÚ´Â src ¸¦ ¿¬°á ÇÑ ´ÙÀ½ src µÚ·Î À̵¿ÇÏ°Ô µË´Ï´Ù.
ÀÌÇØ°¡ ¾È°¡¼Åµµ.. ¾Ë¾ÆµÎ½Ã´Ù°¡ ³ªÁß¿¡ ÇÁ·Î±×·¡¹ÖÀ» ¾î´ÀÁ¤µµ ÇÏ½Ã°Ô µÇ¸é..
ÀÌÇØ°¡ °¡½Ç°Ì´Ï´Ù.
±×¸®°í strcpy() ÇÔ¼ö´Â
string copy(¹®ÀÚ¿ º¹»ç) ÀÇ ¸ñÀûÀ¸·Î ÇÔ¼ö¿øÇüÀº ´ÙÀ½°ú °°½À´Ï´Ù.
char *strcpy(char *dest, const char *src);
strcat() °ú´Â ´Ù¸£°Ô, src º¯¼ö¿¡ ÀúÀåµÈ ¹®ÀÚ¿À» dest ÀÇ Ã³À½ºÎÅÍ º¹»çÇÕ´Ï´Ù.
int main()
{
char dst[10];
char *src = "ABCD";
memset(dst, 0, 10); // dst ÃʱâÈ.
strcpy(dst, src);
printf("dst: %s\n", dst);
}
À§ ÄÚµåÀÇ ½ÇÇà °á°ú¿¡¼ dst ´Â "ABCD" ¸¦ Ãâ·ÂÇÕ´Ï´Ù.
±×¸®°í.. ÇÔ¼ö¿¡ ´ëÇÑ ±Ã±ÝÁõÀÌ ÀÖÀ¸½Ã¸é..
¸ÕÀú man ÆäÀÌÁö È°¿ëÀ» Çغ¸¼¼¿ä..
Âü°í·Î.. º¸¾ÈÀ» À§ÇÑ ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇؼ..
strcpy() ¿Í strcat() ÀÇ »ç¿ëÀº ÀÚÁ¦ÇØÁÙ°ÍÀ» ±Ç°íÇÏ°í ÀÖ½À´Ï´Ù.
ÀÌ´Â overflow ÀÇ ¿øÀÎÀÌ µÇ¹Ç·Î, strncpy() ³ª strncat() ó·³..
°æ°è°ªÀ» ¼³Á¤ÇÏ¿©, °Ë»çÇÏ´Â ÇÔ¼ö¸¦ »ç¿ëÇ϶ó°í ±Ç°íÇÏ°í ÀÖ½À´Ï´Ù. |
Hit : 5914 Date : 2003/09/05 01:14
|