ctrcmp strcpy源代碼

//系統函數源代碼
int__cdeclstrcmp(constchar* src,constchar* dst)
{
        intret = 0 ;
  
        while( ! (ret = *(unsignedchar*)src - *(unsigned char*)dst) && *dst)//直到src和dst當前數值不相等且dst不爲\0時退出while
                ++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個參數是否爲空,爲空將不進行以下的操作。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章