#include <stdio.h>
char *myStrcpy(char *des,char *src)
{
char *bak = des; //指向起始位置
while(*src != '\0'){
*des = *src;
des++;
src++;
}
*des = '\0';
return bak;
}
char *myStrcpy2(char *des,char *src)
{
char *bak = des; //指向起始位置
while(*src != '\0'){
*des++ = *src++; // 先处理数据再偏移。
}
*des = '\0';
return bak;
}
char *myStrcpy3(char *des,char *src)
{
char *bak = des; //指向起始位置
while((*des++ = *src++) != '\0'){
}
*des = '\0';
return bak;
}
char *myStrncpy(char *des,char *src,int count)
{
char *bak = des; //指向起始位置
while(*src != '\0'&&count >0){
*des = *src;
des++;
src++;
count--;
}
if(count>0){
while(count>0){
count--;
*des++ = '\0';
}
return bak;
}
*des = '\0';
return bak;
}
int main()
{
char str[128] = {'\0'};
char *p = "chenlicheng handsome";
myStrncpy(str,p,7);
puts(str);
return 0;
}