訂閱
糾錯
加入自媒體

字符串拷貝函數(shù)有哪幾種方法,哪個效率最高?

2021-03-02 17:31
一口Linux
關注

strcpy,即string copy(字符串復制)的縮寫。

是C語言標準庫中實現(xiàn)字符串拷貝的一個函數(shù)。

各大公司筆試題最喜歡考的一道題,快來看看,你會幾種方法?

問:你會如何實現(xiàn)這個函數(shù)呢?

1

 void strcpy(char *strDest, char *strSrc){  
    while( (*strDest++ = *strSrc++) 。 '' );

//將源字符串 strSrrc加const,表明其為常量輸入參數(shù)
void strcpy(char *strDest, const char *strSrc){    
   while( (*strDest++ = *strSrc++) 。 '' );

3

void strcpy(char *strDest, const char *strSrc){    
     //對源地址strSrc和目標地址strDest加非NULL(0)斷言  
     assert( (strDest != NULL) && (strSrc 。 NULL) );    
     while( (*strDest++ = *strSrc++) 。 '' );

//為了實現(xiàn)鏈式操作,將目的地址返回

char* strcpy(char *strDest, const char *strSrc){
     assert( (strDest 。 NULL) && (strSrc 。 NULL) );  
     char *address = strDest;    
     while( (*strDest++ = *strSrc++) 。 '' );  
     return address;

5

匯編

.text
mystrcopy:
 LDRB r2, [r1], #1
 STRB r2, [r0], #1
 CMP r2, #0
 BNE mystrcopy
 MOV pc, lr

聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

    掃碼關注公眾號
    OFweek人工智能網
    獲取更多精彩內容
    文章糾錯
    x
    *文字標題:
    *糾錯內容:
    聯(lián)系郵箱:
    *驗 證 碼:

    粵公網安備 44030502002758號