//系统函数源代码
int
__cdecl
strcmp
(
const
char
* src,
const
char
* dst
)
{
int
ret = 0 ;
while
( ! (ret = *(unsigned
char
*)src - *(unsigned
char
*)dst) && *dst)
++src, ++dst;
if
( ret < 0 )
ret = -1 ;
else
if
( ret > 0 )
ret = 1 ;
return
( ret );
}
char * strcpy(char * desStr,const char * srcStr)
{
assert((desStr!=null)&&(srcStr!=null));
if(desStr==srcStr) return desStr;
char * addres = desStr;
while(++(*desStr)=++(*srcStr));
return addres;
}
需要注意的事项:
参数用const修饰。通过使用const修饰的参数,参数将为可读属性,在函数体内为不可修改状态。
函数返回指针,这个是为了实现链式操作,可以赋值使用。
断言检查,检查2个参数是否为空,为空将不进行以下的操作。