strcpy() 문자열 복사하는 함수
#include <stdio.h>
#include <string.h>
int main()
{
char src[10] = "Hello";
char dest[10] = { 0 };
char * tmp = NULL;
printf("dest : %s \n", dest);
tmp = strcpy(dest,src);
printf("tmp : %s \n", tmp);
printf("dest : %s \n", dest);
printf("tmp Addr : %p dest Addr : %p\n", tmp, dest);
return 0;
}
strcpy() 의 인자는 2개가 들어가며
처음 인자는 복사한 내용을 담을 공간의 주소
두 번째 인자는 복사할 내용이 있는 공간의 주소입니다.
뒤의 인자의 내용이 앞의 인자에게 복사됩니다.
strcpy() 의 반환 값은 문자열 주소 값입니다.
strcpy() 함수 직접 구현해보기
1. 이 함수의 리턴 타입은?
2. 이 함수의 인자의 형태는?
이 함수의 리턴 타입은 문자열 주소가 됩니다.
주소를 반환하려면 포인터 형태가 되어야 합니다.
char * MySrtcpy(char * dest, char * src)
{
}
이제 복사를 하는 기능에 대해 이야기를 해보자면
src 안에 있는 문자열 하나하나를
desc 안으로 하나하나 넣어주면 됩니다.
이 문제도 포인터 연산이 필요합니다.
char * MyStrcpy(char * dest, char * src)
{
int i = 0;
while (*(src + i)) // src+i번째안에 있는 값이 null문자가 올때까지 반복
{
*(dest + i) = *(src + i); //dest+i번째 안에 있는 값에
//src+i번째 있는 값을 넣음
i++;
}
return dest; //dest에 값이 다 들어갔기 때문에 dest 반환
}
'컴퓨터 프로그래밍 > C' 카테고리의 다른 글
C언어 문자열 처리 함수 (strcmp() : 문자열 비교) (0) | 2019.07.23 |
---|---|
C언어 문자열 처리 함수 (strcat() : 문자열 이어 붙이기) (0) | 2019.07.23 |
C언어 문자열 처리 함수(strlen() :문자열 길이) (0) | 2019.07.23 |
C언어 메모리 동적 할당 (malloc) (0) | 2019.07.23 |
C언어 scanf()에 대하여 (0) | 2019.07.23 |