[c语言]strcat函数的使用和模拟实现

1.strcat的作用

cpp 复制代码
char * strcat ( char * destination, const char * source );

作用:将源字符串的附加到目标字符串中。目标字符串中的终止空字符将被源字符串的第一个字符替换,并且在将两个字符串连接形成的新字符串的末尾将包含一个空字符。

  • destination:目标字符串,其存储空间必须足够大,以容纳拼接后的字符串和末尾的空字符。
  • source:源字符串,该字符串的内容将被追加到 dest 的末尾。
  • strcat 返回的是指向目标字符串 dest 的指针。

源字符串必须以 '\0' 结束。

目标空间必须有足够的大,能容纳下源字符串的内容。

目标空间必须可修改。

实例:

cpp 复制代码
#include <stdio.h>

int main()
{
	char arr1[100] = "hello ";
	char arr2[10] = "world";
	strcat(arr1, arr2);
	printf("%s", arr1);
	return 0;
}

输出结果:

2.模拟实现strcat

cpp 复制代码
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;
}
相关推荐
dot to one几秒前
C++ set和map系列(关联式容器)的介绍及使用
开发语言·数据结构·c++·visual studio·红黑树
cykaw25902 分钟前
C++ string的使用
开发语言·c++
灏瀚星空13 分钟前
深度学习之LSTM时序预测:策略原理深度解析及可视化实现
python·深度学习·神经网络·算法·机器学习·数学建模·lstm
CodeJourney.19 分钟前
MATLAB三维可视化技术解析
数据库·人工智能·算法·matlab
@PHARAOH27 分钟前
WHAT - Rust 静态派发(Static Dispatch)和 动态派发(Dynamic Dispatch)
开发语言·后端·rust
scimence29 分钟前
DeepSeek API接口调用示例(开发语言C#,替换其中key值为自己的key值即可)
开发语言·人工智能·c#·api接口·deepseek
南玖yy30 分钟前
C++ 的未来趋势与挑战:探索新边界
开发语言·c++·人工智能·科技·交互·ai 与 hpc]
前端小崔38 分钟前
从零开始学习three.js(14):一文详解three.js中的粒子系统Points
开发语言·前端·javascript·学习·3d·webgl·数据可视化
元亓亓亓1 小时前
LeetCode热题100--73.矩阵置零--中等
算法·leetcode·矩阵
朱颜辞镜花辞树‎2 小时前
Go Web 后台管理系统项目详解
开发语言·前端·golang