首页 > 编程知识 正文

strcat函数怎么实现,strcat的实现

时间:2023-05-03 11:22:23 阅读:255483 作者:1955

问题:自己实现一个strcat_s函数,要和C语言库函数的strcat函数完成同样的功能。

(1) 函数原型 char *strcat(char *dest, const char *src);

(2) 函数说明 dest 为目的字符串指针,src 为源字符串指针。strcat() 会将参数 src 字符串复制到参数 dest 所指的字符串尾部;dest 最后的结束字符 NULL 会被覆盖掉,并在连接后的字符串的尾部再增加一个 NULL。

注意:dest 与 src 所指的内存空间不能重叠,且 dest 要有足够的空间来容纳要复制的字符串。

(3) 返回值 返回dest 字符串起始地址。

C++实现代码:

#include <stdio.h>#include <assert.h>char* strcat_s(char* dest, const char* src){ assert(dest != NULL && src != NULL); char* temp = dest; while (*temp != '') temp++; while ((*temp++ = *src++) != ''); return dest;}int main() { char src[10] = "world"; char dest[100] = "hello "; char* str3 = strcat_s(dest, src); printf("src = %sn", src); printf("dest = %sn", dest); printf("str3 = %sn", str3); return 0;}

 

问题2:strcat能把strSrc 的内容连接到strDest,为什么还要char * 类型的返回值?

答:方便赋值

转载于:https://www.cnblogs.com/zkfopen/p/11059521.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。