首页 > 智能网

字符串拷贝函数有哪几种方法,哪个效率最高?

来源:智能网
时间:2021-03-02 18:03:14
热度:99

字符串拷贝函数有哪几种方法,哪个效率最高?strcpy,即string copy(字符串复制)的缩写。是C语言标准库中实现字符串拷贝的一个函数。各大公司笔试题最喜欢考的一道题,快来

strcpy,即string copy(字符串复制)的缩写。

是C语言标准库中实现字符串拷贝的一个函数。

各大公司笔试题最喜欢考的一道题,快来看看,你会几种方法?

问:你会如何实现这个函数呢?

1

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

//将源字符串 strSrrc加const,表明其为常量输入参数
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++) != '' );

//为了实现链式操作,将目的地址返回

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

    无相关信息