memmove 简单实现,出了很多问题
#include <stdio.h>
#include <string.h>
void *_memmove(char *str1, const char *str2, size_t n)
{
if (n == 0 && n < strlen(str2))
return NULL;
strncpy( str1, str2, n); //为什么会出现段错误
return str1;
}
int main()
{
char *dest = "abcdefghijklmnopqrstuvwxyz0123456789";
char *src = "******************************";
printf("destination prior to memmove: %s\n", dest);
_memmove(dest, src, 3);
printf("destination after memmove: %s\n", dest);
return 0;
}