C

strcpy 함수와 strcat 함수

스누징어 2020. 12. 20. 23:38

char* strcpy(char* dest, const char* origin);

 

매개변수(인자)

char* dest = 복사 받을 장소

const char* origin = 원본

 

 

반환값(리턴값)

char* = dest를 반환

 

 

설명

* origin에 있는 문자열을 '\0'을 만날때까지 dest에 복사한다.

  널문자까지 복사된다.

 

 

예제

int main()
{
	char origin[] = "집에 가고 싶다.";
	char dest[40];

	strcpy(dest, origin);
	printf("%s", dest);

	return 0;
}

 

 

 

 

 

 

 

 

 

char* strcat(char* dest, const char* origin);

 

매개변수(인자)

char* dest = 복사 받을 장소

const char* origin = 원본

 

 

반환값(리턴값)

char* = dest를 반환

 

 

설명

* dest에서 처음 '\0'을 만나면 널문자를 지우고 그곳부터 origin을 복사한다.

  origin의 널문자까지 복사된다.

 

 

예제

int main()
{
	char origin[] = "집에 가고 싶다.";
	char dest[40] = "진짜루 ";

	strcat(dest, origin);
	printf("%s", dest);

	return 0;
}

 

 

 

 

 

 

 

strcat보다 성능 좋을 수도 있는 strcpy

 

strcat은 dest의 문자열을 끝까지 훑는다.

* strcat 함수의 경우 dest의 널문자를 찾기 위해 처음부터 훑는다. 

   만약 dest의 널문자 위치를 알고 있다면 직접 포인터를 옮기고 strcpy를 사용하는 것이 성능이 좋다.

 

 

예제

int main()
{
	char origin[] = "집에 가고 싶다.";
	char dest[40] = "진짜루 ";
	char* p = dest;

	p += 7;
	strcpy(p, origin);
	printf("%s", dest);

	return 0;
}

 

반응형