strcpy的实现代码
http://hi.baidu.com/zhouwei0213/blog/item/f3a9aebeca4e0a0d18d81fad.html
char * strcpy(char * strDest, const char * strSrc)
{
if ((strDest==NULL)||(strSrc==NULL)) //[1]
throw "Invalid argument(s)"; //[2]
char * strDestCopy=strDest; //[3]
while ((*strDest++=*strSrc++)!='\0'); //[4]
return strDestCopy;
}
strcmp的实现代码
http://blog.chinaunix.net/uid-20480343-id-1941622.html
int my_strcmp(const char *source,const char *dest)
{
int ret = 0 ;
//这里的*dest判断很重要,否则二者完全相等的时候就会越界出现难以判断的情况
while( ! (ret = *( unsigned char *)source - *(unsigned char *)dest) && *dest)
source++, dest++;
if ( ret < 0 )
ret = -1 ;
else if ( ret > 0 )
ret = 1 ;
return(ret);
}