一、strncat的注意事项
1、头文件为:<string.h>
2、函数声明为:char* strncat(char* dest, const char* src, size_t num);
3、dest要有足够的空间
4、只追加src中'\0'之前的字符
二、strncat的模拟实现
#include <stdio.h>
#include <assert.h>
char* my_strncat(char* dest, const char* src, size_t num)
{
assert(dest && src);//用断言判断dest及src是否为空指针
char* start = dest;//保存dest的起始地址
while (*dest)//找dest的末尾
{
dest++;
}
//追加
while (num--)
{
if (0 == (*dest++ = *src++))
{
return start;
}
}
*dest = '\0';
return start;
}
int main()
{
char arr1[10] = "abc";
char arr2[] = "def";
printf("%s\n", my_strncat(arr1, arr2, 2));//结果为:abcde
return 0;
}
附:若有不足,望指出
^_^感谢阅读^_^