//系統函數源代碼
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個參數是否爲空,爲空將不進行以下的操作。