소개:
strcpy는 한 위치에서 다른 위치로 문자열을 복사하는 C 표준 라이브러리 함수입니다. string.h 헤더 파일에 정의되어 있습니다.
이 함수는 두 개의 인수, 즉 복사된 문자열이 저장될 대상 버퍼와 복사될 소스 문자열을 사용합니다. 이 함수는 null 종결자를 포함한 전체 소스 문자열을 대상 버퍼에 복사합니다.
자바 헬로 프로그램
그만큼 C strcpy() 기능 사본 문자열의 내용을 다른 문자열로 전달합니다. 대상 문자열의 내용은 다음과 같습니다. 교체됨 strcpy() 함수를 통해 소스 문자열의 문자열과 일치합니다. 내부에 정의되어 있습니다. 헤더 파일.
통사론:
char* strcpy(char* destination, const char* source);>
매개변수: 이 메서드는 다음 매개변수를 허용합니다.
- 목적지 : 콘텐츠가 복사될 대상 문자 배열에 대한 포인터입니다. source: 복사할 소스 문자 배열에 대한 포인터입니다.
반환 값: ㅏ 목적지에 대한 포인터 string은 strcpy() 함수가 소스 문자열을 복사한 후에 반환됩니다.
예: 1
씨
// C program to illustrate> // strcpy() function in C> #include> #include> int> main()> {> >char> str1[] =>'Hello World!'>;> >char> str2[] =>'GfG'>;> >char> str3[40];> >char> str4[40];> >char> str5[] =>'GeeksForGeeks'>;> >strcpy>(str2, str1);> >strcpy>(str3,>'Copy successful'>);> >strcpy>(str4, str5);> >printf>(>'str1: %s
str2: %s
str3: %s
str4:%s
'>, str1,> >str2, str3, str4);> >return> 0;> }> |
>
>
링크드리스트와 어레이리스트산출
str1: Hello World! str2: Hello World! str3: Copy successful str4:GeeksForGeeks>
예 2:
씨
#include> #include> int> main()> {> >char> str1[20] =>'Hello'>;> >char> str2[20];> >strcpy>(str2, str1);> >printf>(>'str1: %s
'>, str1);> >printf>(>'str2: %s
'>, str2);> >return> 0;> }> |
문자열 비교 자바
>
>산출
str1: Hello str2: Hello>
중요사항
- 이 기능을 사용하면 전체 문자열을 대상 문자열에 복사할 수 있습니다. 소스 문자열은 대상 문자열에 추가되지 않습니다. 결과적으로 대상 문자열의 내용이 소스 문자열의 내용으로 대체됩니다.
- 소스 문자열은 영향을 받지 않습니다. 복사한 후에도 소스 문자열은 동일하게 유지됩니다.
- strcpy()를 사용하려면 문자열.h 헤더 파일이 포함되어야 합니다.
- 더 긴 소스 문자열(문자 배열)의 경우 strcpy()는 정의되지 않은 동작을 수행합니다.
장점과 단점:
C에서 strcpy를 사용하면 다음과 같은 장점이 있습니다.
문자열을 빠르고 쉽게 복사할 수 있는 간단하고 사용하기 쉬운 기능입니다.
이는 표준 라이브러리 함수이므로 다양한 플랫폼과 컴파일러에서 널리 사용 가능하고 이식 가능합니다.
복사하려면 소스 문자열을 한 번만 통과하면 되기 때문에 상대적으로 빠릅니다.
그러나 strcpy를 사용할 때 고려해야 할 몇 가지 단점도 있습니다.
대상 버퍼의 크기를 확인하지 않으므로 소스 문자열이 대상 버퍼보다 길면 버퍼를 덮어쓰고 버퍼 오버플로가 발생할 수 있습니다. 이로 인해 보안 취약점 및 기타 문제가 발생할 수 있습니다.
겹치는 문자열을 제대로 처리하지 않습니다. 소스 및 대상 문자열이 겹치는 경우 strcpy의 동작은 정의되지 않습니다.
소스 문자열 내의 널 문자를 올바르게 처리하지 않습니다. 소스 문자열에 널 문자가 포함되어 있으면 소스 문자열에 추가 문자가 있더라도 strcpy는 해당 지점에서 복사를 중지합니다.