strcat 함수란
strcat
함수는 두 개의 문자열을 합쳐주는 함수입니다. 이 함수는 문자열의 끝을 찾아서(널 문자, '\0') 첫 번째 문자열 뒤에 두 번째 문자열을 연결합니다.
사용법
char* strcat(char* str1, const char* str2);
str1
: 문자열이 추가될 대상 문자열str2
: 추가할 문자열
예제
#include <stdio.h>
#include <string.h>
int main() {
char str1[20] = "Hello, ";
const char* str2 = "world!";
strcat(str1, str2);
printf("%s", str1);
return 0;
}
위의 예제 코드를 실행하면 "Hello, world!"가 출력됩니다. strcat(str1, str2)
를 호출하면 str1
에 str2
를 이어 붙인 결과가 저장됩니다.
strncat 함수란
strncat
함수는 strcat
함수와 기능이 비슷하지만, 일정한 길이만큼만 문자열을 연결할 수 있습니다. 따라서, 두 번째 매개변수로 연결할 문자열의 최대 길이를 지정해야 합니다.
사용법
char* strncat(char* str1, const char* str2, size_t n);
str1
: 문자열이 추가될 대상 문자열str2
: 추가할 문자열n
: 연결할 문자의 최대 개수
예제
#include <stdio.h>
#include <string.h>
int main() {
char str1[20] = "Hello, ";
const char* str2 = "world!";
strncat(str1, str2, 5);
printf("%s", str1);
return 0;
}
위의 예제 코드를 실행하면 "Hello, world"가 출력됩니다. strncat(str1, str2, 5)
를 호출하면 str1
에 str2
의 처음 5개의 문자를 이어 붙인 결과가 저장됩니다.
구현 내용
strcat
함수는 다음과 같이 구현할 수 있습니다:
char* strcat(char* str1, const char* str2) {
char* result = str1;
while (*str1) {
str1++;
}
while (*str2) {
*str1++ = *str2++;
}
*str1 = '\0';
return result;
}
strncat
함수는 다음과 같이 구현할 수 있습니다:
char* strncat(char* str1, const char* str2, size_t n) {
char* result = str1;
while (*str1) {
str1++;
}
while (n && *str2) {
*str1++ = *str2++;
n--;
}
*str1 = '\0';
return result;
}
정리
strcat
함수는 두 개의 문자열을 합쳐주는 함수입니다. 문자열의 끝을 찾아 첫 번째 문자열에 두 번째 문자열을 연결합니다.strncat
함수는strcat
함수와 비슷한 기능을 가지지만, 일정한 길이만큼 문자열을 연결할 수 있습니다.strcat
함수의 사용법 및 예제를 소개하고, 구현 내용을 설명했습니다.strncat
함수의 사용법 및 예제를 소개하고, 구현 내용을 설명했습니다.
댓글