用c语言实现一个strcat函数功能相同的函数

来源:互联网 发布:明道软件优缺点 编辑:程序博客网 时间:2024/05/21 01:46

extern char *strcat(char *dest,char *src);

把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。

#include "stdafx.h"#include <iostream>void mycat(static char a[],char b[]){int i=0,j=0;while(a[i++]!='\0'){}while(b[j++]!='\0'){a[i++]=b[j++];//i++;}a[i]='\0';}int main(){char str1[20]="yanzefeng";char str2[]={"feng"};mycat(str1,str2);    printf("%s",str1); getchar();    return 0;}



#include "stdafx.h"#include <assert.h> #include <iostream>//将源字符串加const,表明其为输入参数 char * strcat(char *strdest,const char *strsrc){// 后文return address,故不能放在assert断言之后声明address char *address=strdest;assert((strdest!=NULL)&&(strsrc!=NULL));//对源地址和目的地址加非0断言while(*strdest)//当他指向不为空时{strdest++;//指针向后移 }while(*strsrc){*strdest++=*strsrc++;}//此处可以加语句*strDest=’\0’;无必要     return address;//为了实现链式操作,将目的地址返回 }int main(){char d[20]="yanze";  //数组当函数参数时会自动退化为指针char *s="feng";strcat(d,s);printf("%s",d);getchar();return 0;}