您好,登录后才能下订单哦!
编写一个C语言程序模拟实现strcat函数.
(我们不妨先模拟实现一下strcat函数,然后再对照一下string.h库函数中strcat函数代码的实现,与大师肩并肩.)
strcat函数功能:将两个字符串连接起来,最终返回连接后字符串的首地址.
strcat函数原型:char *strcat(char *dest,const char *src);
我们清楚地了解了strcat函数功能和原型之后,就很容易分析出算法...
第一步:将dest指向的内容循环遍历至'\0'的部分.
第二步:将src指向的内容循环拷贝给dest,包括src后面的'\0'.
//模拟实现strcat函数
char *my_strcat1(char *dest,const char *src){
char * ret = dest;
//对接受到的两个指针进行断言
assert(dest);
assert(src);
//将dest遍历至\0
while(*dest){
dest++;
}
//将src内容复制在dest之后
while(*src){
*dest++ = *src++;
}
//在dest后面追加\0
*dest = '\0';
return ret;
}/*
*本代码由高小调原创,版权归高小调博客所有
*作者:高小调
*日期:2016-8-7
*代码功能:模拟实现strcat函数
*集成开发环境:Microsoft Visual Studio 2010
*/
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
//模拟实现strcat
char *my_strcat1(char *dest,const char *src){
char * ret = dest;
//对接受到的两个指针进行断言
assert(dest);
assert(src);
//将dest遍历至\0
while(*dest){
dest++;
}
//将src内容复制在dest之后
while(*src){
*dest++ = *src++;
}
//在dest后面追加\0
*dest = '\0';
return ret;
}
//库函数中实现方法
char *my_strcat2(char *dest,const char *src){
char * cp = dest;
//将dest遍历至\0
while(*cp){
cp++;
}
//将src内容复制在dest之后
while(*cp++=*src++){
;
}
return dest;
}
int main(){
char str1[20] = "Hello ";
char str2[] ="Gxd Blog!";
char *ret = my_strcat1(str1,str2);
printf("%s\n",ret);
system("pause");
return 0;
}
函数列表
printf()函数功能、原型、用法和实例
assert()宏功能、原型、用法和实例
strcat()函数功能、原型、用法及实例
小调祝你一切安好.
本文由高小调博客原创!
原文地址:http://gaoxiaodiao.com/p/21.html
如欲转载,请注明出处!
PS:我在大二上学期,为了赚取瑜伽教练进修费用,周末在KFC兼职打工时,生活节奏超快.
下午2半点从学校走,3点半上班,一直到晚上12点.学校关门了,坐个出租车,去网吧×××.
(KFC可以报销部分车费.)
当时我心想如果大学毕业以后,每天都是这样生活的话,这未来也太黑暗了吧!
在那段时间内,我一直认为,这应该就是大学中最黑暗的时光了吧!
再回顾下现在,每天早上6点起床去瑜伽馆.
下午5点下课后,火速赶往公交车站,因为6点还有编程课,晚上9点下课...
尽管现在比之前的兼职辛苦更多,但我很享受...
这就是也许传说中的成长吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。