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尾 { dest++; } while (n--)//循环追加字符 { *dest++ = *src++; } *dest = '\0';//因为追加个数不包含'\0' 所以需要手动添加'\0' return ret; } int main() { char arr1[20] = "abc"; char arr2[] = "defghi"; printf("%s\r", my_strncat(arr1, arr2, 6)); return 0; }