#include<assert.h>
#include<stdio.h>
#include<iostream>
using namespace std;
char* my_strcat(char *strDest, const char *strSrc)
{
assert(strDest != NULL && strSrc != NULL);
char *ptmp_Dest = strDest;//定义两个临时变量指针指向源字符串和目标字符串
const char *ptmp_Src = strSrc;
while(*ptmp_Dest != '\0')
{
++ptmp_Dest;
}
while(*ptmp_Src != '\0')
{
*ptmp_Dest++=*ptmp_Src++;//按字符顺序赋值直到遇到\0
}
*ptmp_Dest = '\0';//赋值完成,字符串尾部插入\0
return strDest;
}
void main()
{
char Dest[20] = "hello";
char *Src = " linux";
cout<<"OldDest = "<<Dest<<endl;//打印链接前的目标字符串
my_strcat(Dest,Src);
cout<<"NewDest = "<<Dest<<endl;//打印链接后的目标字符串
}
#include<iostream>
using namespace std;
char* mystrcopy(char *dest,const char *src)
{
if(dest !=NULL && src != NULL)
{
char *ptmp_dest = dest;
const char *ptmp_src = src;
while(*ptmp_src != '\0')
{
*ptmp_dest++ = *ptmp_src++;
}
*ptmp_dest = '\0';
return dest;
}
}
void main()
{
char dst[10] = "beautiful";
char *src = "cool";
cout<<"dest = "<<dst<<endl;
mystrcopy(dst,src );
cout<<"dest = "<<dst<<endl;
}