首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

模拟实现字符串函数(3) strcat函数

1.函数介绍 strcat函数可以实现对一个字符串的追加,它的返回类型是一个char*的指针,参数是dest(需要追加的字符串的位置)和src(需要追加的字符串内容)。...2.模拟实现 下面我们来模拟实现,首先字符串追加,肯定是追加在字符串的最后面,所以我们就得取到字符串最后一位的地址,往后实现追加,字符串是以/0为结尾,我们可以循环目标字符串,如果检测到/0,就停止。...此时dest指向的是字符串的末尾,往后开始,将src的内容赋给dest并实现自增,直到src遇到/0结束。...#define _CRT_SECURE_NO_WARNINGS 1 #include #include //strcat函数模拟实现 char* my_strcat...; } return ret; } int main() { char str1[] = "abcde"; char str2[] = "fghij"; char* ret=my_strcat

10810
您找到你想要的搜索结果了吗?
是的
没有找到

【C 语言】C 字符串 ( 表示方法 | strcpy | strcat | strlen | strcmp )

文章目录 C 字符串表示方式 C 字符串 拷贝 ( strcpy ) C 字符串 拼接 ( strcat ) C 字符串 长度获取 ( strlen ) C 字符串 对比 ( strcmp ) C.../字符串打印 : // ① 打印字符串 , cout 后的 << 后可以打印 字符串 , 也可以打印变量 // ② 输出 cout << 字符串或变量1 << 字符串或变量2 ... << endl...拼接 ( strcat ) C 字符串 拼接 ( strcat ) : 1.方法参数 : strcpy 方法是拼接字符串的方法 , 第一个参数是目标字符串 , 第二个参数是源字符串 ; 2.方法作用...: 将 源字符串 拼接到 目标字符串后面 , 组成新字符串 ; 3.目标字符串大小 : 目标字符串一定要注明大小 , 并且其大小要大于 两个字符串实际大小之和 ; ( 否则会报错 ) 3.代码 : /.../③ 目标字符串大小 : 注意 目标字符串的 大小一定要大于 两个字符串实际大小 strcat(string_c_cat_destination, string_c_cat_source); //④

57320

【C语言】字符串函数strcpy&&strcat&&strcmp&&strstr的使⽤和模拟实现

前言 记上节,我们学了字符串strlen的使用和三种模拟实现方法,本小节,阿森继续和你一起学习4个字符串函数:strcpy,strcat,strcmp,strstr的使用和他的模拟实现方法,学习这些库函数...库函数strcat strcat函数用于将源字符串src追加到目标字符串dest的结尾。...char *strcat(char *dest, const char *src); dest - 目标字符串,必须有足够的空间存储追加后的结果字符串。 src - 源字符串。...返回值: 返回目标字符串dest的地址。 strcat首先找到dest字符串的结尾,即'\0'字符的位置。从dest字符串结尾开始,将src字符串一个字符一个字符地复制过来。...(str3, str2); printf("str3 = %s\n", str3); return 0; } 输出: str3 = Hello World strcat的模拟实现 strcat

13910

深入理解字符串函数和字符函数(islower和isupper、tolower和toupper、strlen、strcpy、strcat、strcmp)(一)

在函数内部,首先使用char* ret来指向目标字符串(dest)的起始地址。 再用assert宏来断言目标字符串(dest)和源字符串(src)都不为空。如果它们为空,程序会在这里终止。...使用案例: . . 2.3strcat使用和模拟实现 strcat的作用为在字符串后面追加字符串 注意事项: 返回值是目标空间的地址 字符串无法追加自身 字符串追加可以理解为: 找到目标字符串末尾的...‘\0’后追加(其本质就是字符串拷贝) 使用案例: 原目标空间中一定要有\0,否则不知道从哪里开始追加 模拟实现strcat char* my_strcat(char* dest, const char...模拟后的缺陷: 没有办法追加自身,但是库函数可以 char* my_strcat(char* dest, const char* src) //缺陷:不能给自己追加 { char* ret = dest...(arr1, arr1);//缺陷:不能给自己追加 strcat(arr1, arr1);//但是库函数可以 printf("%s\n", arr1);//hello return 0; }

12210

CC++中连接函数strcat的应用(简单讲解)

答案是有的,在C语言的string.h库中有个神奇的函数叫做strcat,它可以做到这一点。...下面开始我们的讲解~~~ 此时我们可能会想知道它的原型构成: extern char *strcat(char *dest, const char *src); 我们可以看到,函数的原型是传入了两个char...类型的指针,中文定义如下: char * strcat (目标字符串,源字符串);//将源字符串的副本附加到目标字符串上,目标字符串中的终止空字符由源字符串的第一个字符覆盖,并将这两个字符串连接形成的新字符串...src -- 指向要追加的字符串,该字符串不会覆盖目标字符串。...(str,"strings "); strcat (str,"are "); strcat (str,"concatenated."); puts (str); return 0; }

99120

C语言 | 每日基础(38)

; char *s3 = strcat(s1, s2); 但是我得到了奇怪的结果。 阿一:这里主要的问题是没有正确地为连接结果分配空 间。C 没有提供自动管理的字符串类型。...C 编译器只为源码中明确提到的对象分 配空间 (对于字符串, 这包括字符数组和串常量)。...程序员必须为字符串连接这样 的运行期操作的结果分配足够的空间, 通常可以通过声明数组或调用 malloc() 完 成。strcat() 不进行任何分配; 第二个串原样不动地附加在第一个之后。...因此, 一 种解决办法是把第一个串声明为数组: char s1[20] = "Hello, "; 由于 strcat() 返回第一个参数的值, 本例中为 s1, s3 实际上是多余的; 在 strcat...提问中的 strcat() 调用实际上有两个问题: s1 指向的字符串常数, 除了空间不 足以放入连接的字符串之外, 甚至都不一定可写。

2513129

Matlab字符串相关操作-拼接、格式化

在一个case里面需要大量格式化生成字符串,故整理了一下这方面的内容 常见的有三种方法:向量拼接、strcat函数和sprintf函数 1、向量拼接 在matlab中字符串本质上也是一个向量,可以通过矩阵运算来实现字符串的拼接...2、strcat函数 strcat方法用于水平串联字符串。 s = strcat(s1,...,sN) 水平串联 s1,...,sN。每个输入参数都可以是字符数组、字符向量元胞数组或字符串数组。...如果任一输入是字符串数组,则结果是字符串数组。 如果任一输入是元胞数组,并且没有输入是字符串数组,则结果是字符向量元胞数组。 如果所有输入都是字符数组,则结果是字符数组。...对于字符数组输入,strcat 会删除尾随的 ASCII 空白字符:空格、制表符、垂直制表符、换行符、回车和换页符。对于元胞数组和字符串数组输入,strcat 不删除尾随空白。...s1 = 'Good'; s2 = 'morning'; s = strcat(s1,s2) s = 'Goodmorning' s1 = {'abcde','fghi'}; s2 = {'jkl',

67620

字符串函数的介绍与模拟实现(一)

strcat函数的使用与模拟实现 strcat函数,是C语言中的一个字符串处理函数,用于将一个字符串追加到另一个字符串的末尾。...其声明如下: char *strcat(char *dest, const char *src); 其中,dest是目标字符串,src是要追加到目标字符串末尾的源字符串。...strcat函数将源字符串src追加到目标字符串dest的末尾,并返回目标字符串的指针。需要注意的是,目标字符串dest必须有足够的空间来容纳源字符串src的内容,否则可能会出现缓冲区溢出的问题。...因此,由于缺少 '\0' 结尾符, strcat 函数无法判断字符串的结束位置,这可能导致未定义的行为。...因此,应该遵循C语言的约定,确保字符串以 '\0' 结尾,并且避免使用 strcat 将一个字符串追加到自身。

7010
领券