1)自己定义一个复制函数,利用指针函数,把字符串复制到目标数组中去。
2)利用参数n,对于需要复制过去的字符进行数量限制,如果字符串已经复制完了,n再大也复制不了,会完整的复制字符串到目标数组中去。
3)即使目标数组初始化可能很大,但是当全部字符串复制过去了,就会以‘ ’作为结束的标志。
#include//n个字符复制函数 //指针函数:返回值为指针类型的函数 char *my_strncpy(char *dest, const char *src ,int n) { if (dest == NULL || src == NULL) return NULL; char *p = dest; while(n) { *p = *src; while (src == ' ') break; p++; src++; n--; } *p = ' ';//遇到0字符串结束 return dest; } int main() { char a[15] = {"iiiiiiii"}; my_strncpy(a, "hello",10); printf("a = %s n",a); return 0; }



