本文主要是介绍模拟实现strncat函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我们先了解一下这个函数
1.假如arr2有5个数,我们想追加3个数,它会在arr' \0 '开始追加3个数,追加完之后自动加上'\0'
2.假如arr2有3个数,我们想追加5个数, 它只会追加3个,然后自动加上'\0'
char* my_strncat(char* str1, char* str2, size_t k)
{assert(str1 && str2);char* ret = str1;while (*str1 != '\0')//先找到str1的\0,从这开始追加{str1++;}while (k && (*str1 = *str2)){k--;str1++;str2++;}*str1 = '\0';//自动在后面追加上'\0'return ret;
}
int main()
{char arr1[20] = "abc\0xxxxxxxxxxx";char arr2[] = "defghi";char* ret = my_strncat(arr1, arr2, 10);return 0;
}
这篇关于模拟实现strncat函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!