訂閱
糾錯(cuò)
加入自媒體

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

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

是C語(yǔ)言標(biāo)準(zhǔn)庫(kù)中實(shí)現(xiàn)字符串拷貝的一個(gè)函數(shù)。

各大公司筆試題最喜歡考的一道題,快來(lái)看看,你會(huì)幾種方法?

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

1

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

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

3

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

//為了實(shí)現(xiàn)鏈?zhǔn)讲僮,將目的地址返?/span>

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

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

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無(wú)評(píng)論

暫無(wú)評(píng)論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號(hào)
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯(cuò)
x
*文字標(biāo)題:
*糾錯(cuò)內(nèi)容:
聯(lián)系郵箱:
*驗(yàn) 證 碼:

粵公網(wǎng)安備 44030502002758號(hào)