C++手动实现库函数

已知strcpy的函数原型:char *strcpy(char *strDest, const char *strSrc),其中strDest 是目的字符串,strSrc 是源字符串。不调用C++/C 的字符串库函数,请编写函数 strcpy。

复制代码
复制代码
 1 #include <cassert>
 2 
 3 char* strcpy(char* strDest, const char* strSrc)
 4 {
 5     assert(strDest && strSrc);    // 2分
 6     char* cp = strDest;            // 2分
 7     while (*cp++ = *strSrc++)    // 2分
 8         ;
 9     return strDest;                // 2分
10 }
复制代码
复制代码

 答:为了 实现链式表达式。 // 2分

例如 int length = strlen( strcpy( strDest, “hello world”) );

另外strlen函数如下:

复制代码
复制代码
 1 int strlen(const char* str)
 2 {
 3     assert(str);
 4     int len = 0;
 5     while (*str++)
 6     {
 7         len++;
 8     }
 9     return len;
10 }
复制代码
复制代码

 

strcat函数实现:

复制代码
复制代码
1 char* strcat(char* strDest, const char* strSrc)
2 {
3     assert(strDest && strSrc);
4     char* pd = strDest;
5     while (*pd++) ;
6     while (*pd++ = *strSrc++) ;
7     return strDest;
8 }
复制代码
posted @   韶纥  阅读(278)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 上周热点回顾(1.20-1.26)
点击右上角即可分享
微信分享提示