字符串拷贝函数有哪几种方法,哪个效率最高?
strcpy,即string copy(字符串复制)的缩写。
是C语言标准库中实现字符串拷贝的一个函数。
各大公司笔试题最喜欢考的一道题,快来看看,你会几种方法?
问:你会如何实现这个函数呢?
1
void strcpy(char *strDest, char *strSrc){
while( (*strDest++ = *strSrc++) != '' );
}
2
//将源字符串 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++) != '' );
}
4
//为了实现链式操作,将目的地址返回
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
最新活动更多
-
3月29日立即报名>> 【线下论坛】2024亚马逊云科技 出海全球化论坛
-
4月2日马上预约>> 智能医疗设备测试的挑战
-
4月18-19日立即报名 >> OFweek 2024(第十三届)中国机器人产业大会
-
4月26日立即报名 >> 【线上研讨会】TDK模块化电容器、电能质量解决方案
-
4月30日免费下载 >> SPM31智能功率模块助力降低供暖和制冷能耗,打造可持续未来!
-
4月30日限时免费下载>> 高动态范围(eHDR)成像设计指南
推荐专题
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论