본문 바로가기
Language/C언어

C032_strcat 함수 구현해서 사용하기

by OdOp 관리자 2023. 10. 27.
SMALL

strcat은 문자열 뒤에 문자열을 덧붙이는 것을 뜻하는 함수입니다. 

 

직접 한번 사용해 보겠습니다. 

#include <stdio.h>
#include <string.h>

int main() 
{
    char s1[14] = "Hello, ";
    char s2[7] = "world!";

    printf("s1: \"%s\"\n", s1);  //s1: "Hello, "
    printf("s2: \"%s\"\n", s2);  //s2: "world!"
    printf("%s\n", strcat(s1, s2));  //Hello, world!
    printf("%s\n", s1);  //Hello, world!
    return 0;
}

위에서 보시는 것과 같이 "Hello, "와 "world!"를 합쳐서 s1에 저장한 모습을 볼 수 있습니다. 

string.h에 선언된 함수로 가끔 사용하니까 한번 참고해 주시면 좋을 것 같습니다. 

 

이번에는 strcat을 한번 구현해 보겠습니다. 

 

strcat 함수

char    *OdOp_strcat(char *dest, char *src)
{
    int        i;
    int        dest_i;

    i = 0;
    dest_i = 0;
    while (dest[dest_i])
    {
        dest_i++;
    }
    while (src[i])
    {
        dest[dest_i + i] = src[i];
        i++;
    }
    dest[dest_i + i] = '\0';
    return (dest);
}

우선 첫 번째 인자인 dest의 길이를 측정했습니다.

그러고 나서 dest뒤에 src를 붙이고 마지막에 null을 추가해 주었습니다. 

(문자열의 끝을 알려주어야 하기 때문입니다. )

마지막으로 dest 문자열을 리턴해 주었습니다. 

LIST