一般方法:

#include<stdio.h>
#include<assert.h>

char my_strcpy(char *dest,const char *src)
{
	assert(dest);
	assert(src);
	while(*src)
	{
		*dest = *src;
		dest++;
		src++;
	}
	dest = '\0';
}

int main()
{
	char dest[10]={0};
	char *src="abcdef";
	my_strcpy(dest,src);
	printf("%s\n",dest);
	return 0;
}

其实,函数部分可以大大的简化:

char* my_strcpy(char *dest,const char *src)  //为了将这个函数的返回值作为其他函数的参数,即链式访问
{
	assert(dest);
	assert(src);
	char *ret = dest;  //把dest先保存起来,因为而底下的的dest一直在++
	while(*dest++ = *src++)
	;
	return ret;
}