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;
}
반응형