0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

字符串拷贝函数strcpy的实现方法

FPGA之家 来源:FPGA之家 作者:FPGA之家 2022-08-10 10:17 次阅读

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

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

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

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

1

voidstrcpy(char*strDest,char*strSrc){
while((*strDest++=*strSrc++)!='');
}

2

//将源字符串strSrrc加const,表明其为常量输入参数
voidstrcpy(char*strDest,constchar*strSrc){
while((*strDest++=*strSrc++)!='');
}

3

voidstrcpy(char*strDest,constchar*strSrc){
//对源地址strSrc和目标地址strDest加非NULL(0)断言
assert((strDest!=NULL)&&(strSrc!=NULL));
while((*strDest++=*strSrc++)!='');
}

4

//为了实现链式操作,将目的地址返回
char*strcpy(char*strDest,constchar*strSrc){
assert((strDest!=NULL)&&(strSrc!=NULL));
char*address=strDest;
while((*strDest++=*strSrc++)!='');
returnaddress;
}

5

汇编

.text
mystrcopy:
LDRBr2,[r1],#1
STRBr2,[r0],#1
CMPr2,#0
BNEmystrcopy
MOVpc,lr
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7528

    浏览量

    128425
  • 字符串
    +关注

    关注

    1

    文章

    550

    浏览量

    20105
  • 函数
    +关注

    关注

    3

    文章

    3866

    浏览量

    61308
  • strcpy
    +关注

    关注

    0

    文章

    5

    浏览量

    1168

原文标题:问:你会如何实现这个函数呢?

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    matlab的一般字符串函数字符串比较命令

    matlab的一般字符串函数字符串比较命令一般字符串函数 Strings MATLAB中有关字符串
    发表于 09-22 15:59

    C语言字符串函数详解

    , 函数返回string值.char *strdup(const char *strSource);函数运行中会自己调用malloc函数为复制strSource字符串分配存储空间, 然
    发表于 06-23 23:33

    Memset、Memcpy、Strcpy 的作用和区别(转)

    的为什么? 分析: 1>str中字符串的长度大于dest 的内存长度3.为什么str字符串还能完拷贝到dest 中呢?来看看 strcpy的 源代码
    发表于 01-19 11:57

    如何实现字符串函数

    你好 我使用STM8S发现套件和标准固件库。我需要使用字符串函数,如strtok()。如何让这些功能在这种环境中工作。包括string.h不会工作。我需要实现字符串
    发表于 07-09 08:37

    C语言是如何实现字符串大小与字符串比较的函数

    C语言实现字符串比较(非库函数)今天在keil上写代码时,使用strlen和strcmp一直会有警告,所以就有了下面的东西,自己写一个判断数组大小和字符数组比较的代码。仅供参考。kei
    发表于 07-14 06:40

    嵌入式软件开发字符串拷贝函数strcpy该如何去实现

    嵌入式软件开发字符串拷贝函数strcpy该如何去实现呢?判断嵌入式软件开发内存存储大端小端的程序该如何去
    发表于 12-24 06:18

    字符串处理函数的作用是什么

    / 字符串处理函数 / stract函数 字符串连接函数例:printf(“%s”, stract(str1, str2));
    发表于 02-25 06:41

    C语言字符串转数字实现方法

    在C/C++语言中没有专门的字符串变量,通常用字符数组来存放字符串字符串是以“\0”作为结束符。C/C++提供了丰富的字符串处理
    发表于 11-14 17:50 1.3w次阅读

    浅谈linux c编程中的拷贝函数

    strcpy: 最常用的字符串拷贝函数,但是要注意这个函数不会自己判断源字符串是否比目标空间大,
    发表于 05-31 01:46 2110次阅读

    C语言模拟实现strcpy

    strcpy是一种C语言的标准库函数strcpy把从src地址开始且含有’\0’结束符的字符串复制到以dest开始的地址空间,返回值的类型为char*。
    的头像 发表于 06-29 15:54 1521次阅读
    C语言模拟<b class='flag-5'>实现</b><b class='flag-5'>strcpy</b>

    C语言中字符串拷贝函数有几种方法

    strcpy,即string copy(字符串复制)的缩写。 是C语言标准库中实现字符串拷贝的一个函数
    的头像 发表于 03-12 14:16 4534次阅读

    【单片机学习笔记】(6):字符串处理函数、变量的三种情况、用函数实现模块化程序设计、晶振与延时、指针

    / 字符串处理函数 / stract函数 字符串连接函数例:printf(“%s”, stract(str1, str2));
    发表于 01-12 20:44 4次下载
    【单片机学习笔记】(6):<b class='flag-5'>字符串</b>处理<b class='flag-5'>函数</b>、变量的三种情况、用<b class='flag-5'>函数</b><b class='flag-5'>实现</b>模块化程序设计、晶振与延时、指针

    字符串函数重写练习

    字符串函数重写练习:字符串比较、字符串拼接、字符串查找、字符串
    的头像 发表于 05-05 15:02 1752次阅读

    C语言总结_字符串函数封装练习

    字符串函数重写练习:字符串比较、字符串拼接、字符串查找、字符串
    的头像 发表于 08-14 09:42 746次阅读

    C语言_字符串与指针的练习

    这篇文章涉及到字符串与指针知识点的相关练习。浮点数与字符串互转、字符串拷贝字符串比较、指针交换变量、指针优先级、数据类型强制转换、内存
    的头像 发表于 08-14 09:51 1246次阅读