C语言中strcat和strcpy的区别

请问strcat是连接用的,对吗?那就是说把字符串2复制一下到字符串1后面并和字符串1连接起来,连完之后就变成了字符串1+字符串2 和字符串2两个字符串了吗?
然后,strcpy就是和strcat一个道理只不过在把字符串2复制到字符串1的同时,还要把字符串1的内容给覆盖,是这样吗?
我的理解对吗?请麻烦帮我举例区别一下strcat和strcpy的用法好吗?谢谢

一、功能不同

1、strcat:字符串复制。把从src地址开始且含有'\0'结束符的字符串复制到以dest开始的地址空间。

2、strcpy:把两个字符串连接起来,把src所指字符串添加到dest结尾处。

二、用法不同

1、strcat:char *strcpy(char* dest, const char *src)。

2、strcpy:extern char *strcat(char *dest,char *src)。


三、规定不同

1、strcat:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。

2、strcpy:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。


参考资料来源:百度百科-strcpy

参考资料来源:百度百科-strcat

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-07
1、strcat是用来连接两个字符串的,原型是char *strcat(char *dest,char *src),作用是把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。
2、strcpy是用来把字符串拷贝到指定的地方的,原型是char *strcpy(char *dest,const char *src),作用是把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间。
3、注意strcat是从dest的结尾处开始操作的,而strcpy是直接覆盖dest指向的内容。
第2个回答  2021-04-16
1、strcat是用来连接两个字符串的,原型是char *strcat(char *dest,char *src),作用是把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。

2、strcpy是用来把字符串拷贝到指定的地方的,原型是char *strcpy(char *dest,const char *src),作用是把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间。

3、注意strcat是从dest的结尾处开始操作的,而strcpy是直接覆盖dest指向的内容。

strcat在C语言中代表的是追加字符串的函数,作用是将A字符串追加到B字符串末尾,A字符串值保持不变,B字符串变长,追加时需要保证B字符串在加上A之后依旧不能溢出。

strcat 声明

下面是 strcat() 函数的声明。

char *strcat(char *dest, const char *src)

strcat 参数

dest -- 指向目标数组,该数组包含了一个 C 字符串,且足够容纳追加后的字符串。

src -- 指向要追加的字符串,该字符串不会覆盖目标字符串。

strcat 返回值

该函数返回一个指向最终的目标字符串 dest 的指针
第3个回答  2011-02-07
非常正确

你都把函数使用的细节掌握了,例子不必了吧,一个是连接函数,另一个是拷贝函数,这区别够明显了吧本回答被提问者采纳
第4个回答  2021-04-15
1、strcat是用来连接两个字符串的,原型是char *strcat(char *dest,char *src),作用是把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。

2、strcpy是用来把字符串拷贝到指定的地方的,原型是char *strcpy(char *dest,const char *src),作用是把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间。

3、注意strcat是从dest的结尾处开始操作的,而strcpy是直接覆盖dest指向的内容。
相似回答