1.函数介绍
翻译一下:就是当源字符串长度小于num时会只追加源字符串的最大长度,大于num时正常追加
2.思路分析
1.首先将dest的指针保留用于返回,随后遍历到dest的末尾;
2.判断一下num是否大于src的长度,如果小于的话,将src遍历追加完即可。
char* my_strncat(char* dest, char* src, size_t num)
{
char* ret = dest;
while (*dest)
{
dest++;
}
//源字符串长度大于num
if (strlen(src) >= num)
{
while (num--)
{
*dest++ = *src++;
}
}
else
{
while (*src != '\0')
{
*dest++ = *src++;
}
}
return ret;
}
int main()
{
char str1[30] = "abcdefghij";
char str2[] = "aaattttt";
my_strncat(str1, str2, 5);
printf("%s\n", str1);
return 0;
}