字符串拷貝函數(shù)有哪幾種方法,哪個(gè)效率最高?
strcpy,即string copy(字符串復(fù)制)的縮寫。
是C語言標(biāo)準(zhǔn)庫中實(shí)現(xiàn)字符串拷貝的一個(gè)函數(shù)。
各大公司筆試題最喜歡考的一道題,快來看看,你會幾種方法?
問:你會如何實(shí)現(xiàn)這個(gè)函數(shù)呢?
1
void strcpy(char *strDest, char *strSrc){
while( (*strDest++ = *strSrc++) 。 '' );
}
2
//將源字符串 strSrrc加const,表明其為常量輸入?yún)?shù)
void strcpy(char *strDest, const char *strSrc){
while( (*strDest++ = *strSrc++) 。 '' );
}
3
void strcpy(char *strDest, const char *strSrc){
//對源地址strSrc和目標(biāo)地址strDest加非NULL(0)斷言
assert( (strDest 。 NULL) && (strSrc != NULL) );
while( (*strDest++ = *strSrc++) 。 '' );
}
4
//為了實(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

發(fā)表評論
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個(gè)字
最新活動更多
推薦專題
-
8 每日AI全球觀察
- 1 特斯拉工人被故障機(jī)器人打成重傷,索賠3.6億
- 2 【行業(yè)深度研究】退居幕后四年后,張一鳴終于把算法公司變成AI公司?
- 3 AI 時(shí)代,阿里云想當(dāng)“安卓” ,那誰是“蘋果”?
- 4 拐點(diǎn)已至!匯川領(lǐng)跑工控、埃斯頓份額第一、新時(shí)達(dá)海爾賦能扭虧為盈
- 5 硬剛英偉達(dá)!華為發(fā)布全球最強(qiáng)算力超節(jié)點(diǎn)和集群
- 6 隱退4年后,張一鳴久違現(xiàn)身!互聯(lián)網(wǎng)大佬正集體殺回
- 7 L3自動駕駛延期,逼出車企技術(shù)自我淘汰
- 8 谷歌“香蕉”爆火啟示:國產(chǎn)垂類AI的危機(jī)還是轉(zhuǎn)機(jī)?
- 9 00后華裔女生靠兩部AI電影狂賺7.8億人民幣,AI正式進(jìn)軍好萊塢
- 10 機(jī)器人9月大事件|3家國產(chǎn)機(jī)器人沖刺IPO,行業(yè)交付與融資再創(chuàng)新高!