C语言模拟实现strncat函数
strncat 函数是 C 标准库中的一个字符串函数,它用于将指定长度的源字符串追加到目标字符串的结尾。它的函数原型如下:
char *strncat(char *dest, const char *src, size_t n);
函数接受三个参数:目标字符串 dest,要追加的源字符串 src,以及要复制的最大字符数 n。函数返回目标字符串 dest 的起始位置。
思路:通过循环找到dest字符串尾,然后把src中的字符串通过指针进行存放,不过要控制追加的最大字符数n。
代码如下:
#include <stdio.h>
#include <assert.h>
char* my_strncat(char* dest, const char* src, size_t n)
{
assert(dest && src);
char* ret = dest;
while (*dest)
{
dest++;
}
while (n--)
{
*dest++ = *src++;
}
*dest = '\0';
return ret;
}
int main()
{
char arr1[20] = "abc";
char arr2[] = "defghi";
printf("%s\r", my_strncat(arr1, arr2, 6));
return 0;
}