代码
#include <stdio.h>
#include <assert.h>
#include <string.h>
char * mystrncat(char *dest,const char * src,size_t n)
{
assert( (dest != NULL) && (src != NULL));
size_t dest_len = strlen(dest);
size_t i;
for(i = 0; i < n && src[i] !='\0' ; i++)
dest[dest_len + i] = src[i];
dest[dest_len + i] = '\0';
return dest;
}
int main()
{
char str1[10] = "abc";
char str2[10] = "abc";
char str3[10] = "abc";
char str0[] = "defg";
printf("%s\n",mystrncat(str1,str0,2));
printf("%s\n",mystrncat(str2,str0,4));
printf("%s\n",mystrncat(str3,str0,6));
return 0;
}
执行
abcde
abcdefg
abcdefg