strcpy,即string copy(字符串复制)的缩写。
是C语言标准库中实现字符串拷贝的一个函数。
各大公司笔试题最喜欢考的一道题,快来看看,你会几种方法?
问:你会如何实现这个函数呢?
1.
- void strcpy(char *strDest, char *strSrc){
- while( (*strDest++ = *strSrc++) != '\0' );
- }
2.
- //将源字符串 strSrrc加const,表明其为常量输入参数
- void strcpy(char *strDest, const char *strSrc){
- while( (*strDest++ = *strSrc++) != '\0' );
- }
3
- void strcpy(char *strDest, const char *strSrc){
- //对源地址strSrc和目标地址strDest加非NULL(0)断言
- assert( (strDest != NULL) && (strSrc != NULL) );
- while( (*strDest++ = *strSrc++) != '\0' );
- }
4
- //为了实现链式操作,将目的地址返回
- char* strcpy(char *strDest, const char *strSrc){
- assert( (strDest != NULL) && (strSrc != NULL) );
- char *address = strDest;
- while( (*strDest++ = *strSrc++) != '\0' );
- return address;
- }
5
- .text
- mystrcopy:
- LDRB r2, [r1], #1
- STRB r2, [r0], #1
- CMP r2, #0
- BNE mystrcopy
- MOV pc, lr
本文转载自微信公众号「一口Linux」,可以通过以下二维码关注。转载本文请联系一口Linux公众号。