如何字符串拷贝函数的几种方法,你猜哪个效率高?

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

[[384584]]

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

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

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

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

1.

  1. void strcpy(char *strDest, char *strSrc){   
  2.      while( (*strDest++ = *strSrc++) != '\0' ); 

2.

  1. //将源字符串 strSrrc加const,表明其为常量输入参数 
  2. void strcpy(char *strDest, const char *strSrc){     
  3.     while( (*strDest++ = *strSrc++) != '\0' ); 

3

  1. void strcpy(char *strDest, const char *strSrc){     
  2.       //对源地址strSrc和目标地址strDest加非NULL(0)断言   
  3.       assert( (strDest != NULL) && (strSrc != NULL) );     
  4.       while( (*strDest++ = *strSrc++) != '\0' ); 

4

  1. //为了实现链式操作,将目的地址返回 
  2. char* strcpy(char *strDest, const char *strSrc){  
  3.       assert( (strDest != NULL) && (strSrc != NULL) );    
  4.       char *address = strDest;     
  5.       while( (*strDest++ = *strSrc++) != '\0' );    
  6.       return address; 

5

  1. .text 
  2. mystrcopy: 
  3.   LDRB r2, [r1], #1 
  4.   STRB r2, [r0], #1 
  5.   CMP r2, #0 
  6.   BNE mystrcopy 
  7.   MOV pc, lr 

本文转载自微信公众号「一口Linux」,可以通过以下二维码关注。转载本文请联系一口Linux公众号。

 

责任编辑:武晓燕 来源: 一口Linux
相关推荐

2020-10-16 18:35:53

JavaScript字符串正则表达式

2010-11-26 11:20:31

MySQL字符串处理函

2009-08-06 17:24:08

C#字符串

2011-04-13 09:13:02

Java内存

2023-08-25 16:37:08

Pandas测试

2010-07-14 16:37:33

SQL Server拆

2010-11-26 11:34:32

MySQL截取字符串函

2011-04-06 14:20:50

Java编程

2020-08-01 16:19:13

JavaScript字符串开发

2010-09-02 10:02:17

PHP

2022-03-31 16:47:30

mysqlcount面试官

2010-09-09 11:48:00

SQL函数字符串

2010-05-26 15:36:23

MySQL字符串

2010-05-26 15:14:39

MySQL字符串

2014-01-02 16:14:10

PostgreSQL字符串

2011-09-13 09:57:25

谷歌云计算

2011-07-11 15:36:44

JavaScript

2022-07-18 08:18:11

字符JavaJDK

2019-07-05 16:26:06

MySQLcount(1)count(*)

2021-05-18 09:08:18

字符串子串对象
点赞
收藏

51CTO技术栈公众号