我是靠谱客的博主 清爽小馒头,最近开发中收集的这篇文章主要介绍算法:strcpy,strcat,strcmp的实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

// strcat的实现
char * strcat(char * dest, const char * src){
assert(dest && src);
char * ret = dest;
// 找到dest的''结尾符
while(*dest){
dest++;
}
// 拷贝(while循环退出时,将结尾符''也做了拷贝)
while(*dest++ = *src++){}
return ret;
}
// strcmp的实现
int strcmp(const char * str1, const char * str2){
assert(str1 && str2);
// 找到首个不相等的字符
while(*str1 && *str2 && (*str1==*str2)){
str1++;
str2++;
}
return *str1 - *str2;
}
// strcpy的实现
char * strcpy(char * dest, const char * src){
assert(dest && src);
char * ret = dest;
// 内存拷贝的字节数
int count = strlen(src) + 1;
// 内存拷贝
if(dest <= src || (dest >= src + count)){
// 拷贝方向:从低字节到高字节
while(count--){
*dest++ = *src++;
}
}else{
// 拷贝方向:从高字节向低字节
dest += (count -1);
src += (count -1);
while(count--){
*dest--=*src--;
}
}
return ret;
}

最后

以上就是清爽小馒头为你收集整理的算法:strcpy,strcat,strcmp的实现的全部内容,希望文章能够帮你解决算法:strcpy,strcat,strcmp的实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部