char *strncat(char *restrict s1, const char *restrict s2, size_t n);
如果s2的长度比n小,则完全拷贝s2到s1末尾并以空字符结尾;如果s2的长度比n大,则只拷贝前n个字符到s1,并以空字符结尾。
char *strncpy(char *restrict s1, const char *restrict s2, size_t n);
如果s2的长度比n小,则完全拷贝s2到s1,并以空字符填充直到n个字符;如果s2的长度比n大,则只拷贝前n个字符到s1,不补空字符。