반응형
strncat은 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", strncat(s1, s2, 2)); //Hello, wo
printf("%s\n", s1); //Hello, wo
return 0;
}
이번에 한번 strncat이라는 함수를 만들어 보겠습니다.
strncat 함수
char *OdOp_strncat(char *dest, char *src, unsigned int nb)
{
unsigned int i;
unsigned int j;
i = 0;
j = 0;
while (dest[i] != '\0')
{
i++;
}
while (src[j] != '\0' && j < nb)
{
dest[i + j] = src[j];
j++;
}
dest[i + j] = '\0';
return (dest);
}
우선 첫 번째 인자인 dest의 길이를 측정했습니다.
그러고 나서 dest뒤에 src를 지정한 갯수만큼 붙이고 마지막에 null을 추가해 주었습니다.
(문자열의 끝을 알려주어야 하기 때문입니다. )
마지막으로 dest 문자열을 리턴해 주었습니다.
반응형
'Language > C언어' 카테고리의 다른 글
C035_strlcat 함수 구현해서 사용하기 (0) | 2023.10.30 |
---|---|
C034_strstr 함수 구현해서 사용하기 (0) | 2023.10.29 |
C032_strcat 함수 구현해서 사용하기 (0) | 2023.10.27 |
C031_strncmp 함수 구현해서 사용하기 (0) | 2023.10.26 |
C030_strcmp 함수 구현해서 사용하기 (0) | 2023.10.25 |