=================================================
#include <stdio.h>
char* my_strcpy(char*,const char*);
int main(void)
{
char str[100];
my_strcpy(str,"kangdeokhun");
puts(str);
return 0;
}
char* my_strcpy(char* dest, const char* src)
{
char* pdest=dest; // dest의 주소를 저장
if(dest == (int)NULL || src == (int)NULL){
if(*dest != (int)NULL){
*dest = (int)NULL;
}
return NULL;
}
do{
*dest++ = *src;
}while(*src++ != (int)NULL);
return pdest;
}
=================================================
책의 소스는 복사가 성공 했을 때, dest 주소에서 시작되는 문자열의 마지막 문자 주소가 리턴된다.
하지만본래 strcpy함수는 dest주소에서 시작되는 문자열의 처음 문자 주소를 리턴하므로
char* pdest = dest;
위의 명령문을 추가하였다.
#include <stdio.h>
char* my_strcpy(char*,const char*);
int main(void)
{
char str[100];
my_strcpy(str,"kangdeokhun");
puts(str);
return 0;
}
char* my_strcpy(char* dest, const char* src)
{
char* pdest=dest; // dest의 주소를 저장
if(dest == (int)NULL || src == (int)NULL){
if(*dest != (int)NULL){
*dest = (int)NULL;
}
return NULL;
}
do{
*dest++ = *src;
}while(*src++ != (int)NULL);
return pdest;
}
=================================================
책의 소스는 복사가 성공 했을 때, dest 주소에서 시작되는 문자열의 마지막 문자 주소가 리턴된다.
하지만본래 strcpy함수는 dest주소에서 시작되는 문자열의 처음 문자 주소를 리턴하므로
char* pdest = dest;
위의 명령문을 추가하였다.