1、strncpy当src字符串中遇到'\0'时,结束复制
#include<stdio.h>
#include<malloc.h>
#include<string.h>
char * cx_strncpy(char *dst, const char *src, int size) {
char *d, *end;
memset(dst,0,size);
if(*src == '\0')
return dst;
d = dst;
end = dst + size;
for(; dst < end; src++,dst++) {
if(!(*dst = *src)) {
return d;
}
}
*dst = '\0';
return d;
}
void main() {
char *src = "test strncpy";
char * result ;
int length = sizeof("test strncpy");
char *dst = (char*) malloc(length);
result = cx_strncpy(dst,src,length);
printf("%s\n",result);
}