strcat的實現(xiàn) ?
? char?? *?? strcat(char?? *?? dest,?? const?? char?? *?? src) ?
? { ?
? char?? *tmp?? =?? dest; ?
? ?
? while?? (*dest) ?
? dest++; ?
? while?? ((*dest++?? =?? *src++)?? !=?? '\0') ?
? ; ?
? ?
? return?? tmp; ?
? }
strcat(char?? *dest,?? const?? *src),其中,src是以'\0'結尾的字符串,通過遍歷src把它的每個字符放到dest字符串里面,當遍歷src遇到'\0'時結束。使用 strcat要防止src的長度大于dest的長度,不然數(shù)組越界。
以下為摘自:C:\Program?? Files\Microsoft?? Visual?? Studio\VC98\CRT\SRC\strcat.c: ?
? ?
? char?? *?? __cdecl?? strcat?? ( ?
????????????????? char?? *?? dst, ?
????????????????? const?? char?? *?? src ?
????????????????? ) ?
? { ?
????????????????? char?? *?? cp?? =?? dst; ?
? ?
????????????????? while(?? *cp?? ) ?
????????????????????????????????? cp++;?????????????????????????????????????? /*?? find?? end?? of?? dst?? */ ?
? ?
????????????????? while(?? *cp++?? =?? *src++?? )?? ;?????????????? /*?? Copy?? src?? to?? end?? of?? dst?? */ ?
? ?
????????????????? return(?? dst?? );???????????????????????????????????? /*?? return?? dst?? */ ?
? ?
? }