#include <stdio.h>
#include <windows.h>
#include <assert.h>
#include <string.h>
char *my_strcpy( char *dst, const char *scr )
{
char *ret = dst;//保存返回地址
assert(dst);
assert(scr);
while( *dst++ = *scr++ );//实现拷贝
return ret;
}
char *my_strncpy( char *dst, const char *scr, unsigned int n )
{
char *ret = dst;
int i = n - 1;
assert(dst);
assert(scr);
assert( n <= strlen(scr) );
assert( n <= strlen(dst) );
//while( i > 0 )//逆序拷贝
//{
// dst++;
// scr++;
// i--;
//}
while( ( n-- > 0 ) && ( *dst++ = *scr++ ) );//逆序拷贝n个
return ret;
}
char *my_strcat( char *dst, const char *scr )
{
char *ret = dst;
assert(dst);
assert(scr);
while( '\0' != *dst )
dst++;//找到dst结尾
while( *dst++ = *scr++ );//实现链