상세 컨텐츠

본문 제목

[c언어] strcat 함수 구현하기

c언어

by ~지우~ 2021. 10. 27. 17:06

본문

728x90

오늘은 strcat 함수를 직접 구현해보겠습니다.

 

strcat은 문자열 두개를 연결시켜주는 함수로 <string.h> 헤더파일에 선언되어있습니다.

strcat(문자열1, 문자열2) 형태로 사용하고 문자열1에 문자열2를 붙여 줍니다.

strcat의 반환값은 연결된 문자열의 포인터입니다.

 

포인터를 사용한 함수 구현

#include <stdio.h>

//strcat 함수 구현
char* string_concat(char* s1, char* s2) {
	while (*s1 != '\0') {
		s1++;
	}
	while (*s2 != '\0') {
		*s1 = *s2;
		s1++;
		s2++;
	}
	*s1 = '\0';

	return s1;
}

//string_concat 함수 호출
void main() {
	char sen1[30] = "hello";
	char sen2[30] = "world";
	string_concat(sen1, sen2);
	printf("%s\n", sen1);
}

 

배열을 사용한 함수 구현

#include <stdio.h>

//strcat 함수 구현
char* string_concat(char s1[], char s2[]) {
	int i = 0;
	int j = 0;
	while (s1[i] != '\0') {
		i++;
	}
	while (s2[j] != '\0') {
		s1[i] = s2[j];
		i++;
		j++;
	}
	s1[i] = '\0';
	return s1;
}

//string_concat 함수 호출
void main() {
	char sen1[30] = "hello";
	char sen2[30] = "world";
	string_concat(sen1, sen2);
	printf("%s\n", sen1);
}
728x90

관련글 더보기

댓글 영역