admin管理员组文章数量:1794759
strcat与strncat函数使用与模拟实现
一、strcat函数的使用与模拟实现
- 源字符串必须以 '\0' 结束。
- 目标字符串中也得有 \0 ,否则没办法知道追加从哪里开始。
- 目标空间必须有足够的大,能容纳下源字符串的内容。
- 目标空间必须可修改。
- 字符串自己给自己追加,不一定能实现。
strcat函数的使用:
代码语言:javascript代码运行次数:0运行复制#include<stdio.h>
#include<string.h>
int main()
{
char str1[] = "hello world";
char str2[20]= "xxxxxxxx";
strcat(str2, str1);
printf("%s", str2);
return 0;
}
模拟实现strcat函数:
代码语言:javascript代码运行次数:0运行复制char *my_strcat(char *dest, const char*src)
{
char *ret = dest;
assert(dest != NULL);
assert(src != NULL);
while(*dest)
{
dest++;
}
while((*dest++ = *src++))
{
;
}
return ret;
}
二、strncat函数的使用与模拟实现
- 将source指向字符串的前num个字符追加到destination指向的字符串末尾,再追加一个 \0 字 符。
- 如果source 指向的字符串的长度小于num的时候,只会将字符串中到 \0 的内容追加到destination指向的字符串末尾。
strncat函数的使用:
代码语言:javascript代码运行次数:0运行复制#include<stdio.h>
#include<string.h>
int main()
{
char str1[] = "hello world";
char str2[20]= "xxxxxxxx";
strncat(str2, str1,4);
printf("%s", str2);
return 0;
}
strncat函数的模拟使用:
代码语言:javascript代码运行次数:0运行复制char *my_strncat(char *dest, const char *src, size_t n)
{
// 找到目标字符串的末尾
char *dest_ned = dest;
while (*dest_end != '\0')
{
++dest_end;
}
// 将源字符串的前n个字符追加到目标字符串的末尾
for (i = 0; i < n && src[i] != '\0'; ++i)
{
*dest_end++ = src[i];
}
// 添加字符串结束符
*dest_end = '\0';
return dest;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-10-23,如有侵权请联系 cloudcommunity@tencent 删除returnsrc函数字符串char本文标签: strcat与strncat函数使用与模拟实现
版权声明:本文标题:strcat与strncat函数使用与模拟实现 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1754646191a1704730.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论