前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >string 之 strcpy函数

string 之 strcpy函数

作者头像
Linux云计算网络
发布2018-01-10 18:33:04
9150
发布2018-01-10 18:33:04
举报
文章被收录于专栏:Linux云计算网络

Author: bakari  Date: 2012/8/9

近两年好多的IT公司喜欢拿一些库函数来考,string函数库当然是首选,除此之外,像qsort,STL里的函数也经常火。虽然这些函数咋一看很简单,但有一些细节问题还是很能说明问题,这些细节问题往往就是公司最看重的。吾将之整理作为总结和共享。

下面是我写的代码与源码作的一些比较,均已严格测试通过,分别以“string 之”系列述之。

下面包括strcpy , strncpy函数

代码语言:javascript
复制
 1 /*******************************************************
 2  *  strcpy and strncpy
 3  *  !! Note: *desStr = '\0' Don't forget!
 4  *******************************************************/
 5 char * Mystrcpy(char *desStr, const char *srcStr){
 6     assert(NULL != desStr && NULL != srcStr);
 7     char *address = desStr;
 8 
 9     while( (*desStr ++ = *srcStr ++));  //此条语句与下面的功能一致(值得品味)
10     //while( (*desStr ++ = *srcStr ++) != '\0');
11     //while( (*srcStr ++ ) != '\0' ){
12     //    *desStr ++ = *srcStr;
13     //}
14     //while( *srcStr )
15     //    *desStr++ = *srcStr++;
16     *desStr = '\0';
17 
18     return address;
19 }
20 
21 char * Mystrncpy(char *desStr,const char *srcStr,size_t nCount){
22     assert(NULL != desStr && NULL != srcStr && nCount <= strlen(srcStr));
23     char *address = desStr;
24 
25     while( (nCount --) && (*desStr ++ = *srcStr ++) );
26     //while(nCount --)
27     //    *desStr ++ = *srcStr ++;
28     *desStr = '\0';
29 
30     return address;
31 }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2012-08-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档