c语言中本身就有函数strcpy,其功能是复制字符串,遇到\0结束,因为复制过程没有复制\0,所以需要在循环完之后给字符串赋\0.
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
char *Strcpy(char *sub, char *arr)
{
if (sub == NULL || arr == NULL)
return NULL;
char *tem = sub;//定义一个指针tem保存字符串首元素地址
while (*arr != '\0')//复制字符串有效字符,遇到\0结束
{
*sub= *arr;//把arr的值给sub
sub++;//每复制一次sub往后移一个
arr++;//arr也往后移一个
}
*sub = '\0';//循环过程没有复制\0,所以循环结束后给sub所指的字符串赋\0
return tem;//返回字符串地址
}
int main()
{
char arr[] = "abcdef";
char sub[]=0;
Strcpy(sub, arr);
printf("%s", sub);
system("pause");
return 0;
}