strcat()与strcpy()用法 1、strcpy (1)原型 extern char *strcpy(char *dest,char *src); (2)用法 #include <cstring> (3)功能 把src所指由NULL结束的字符串复制到dest所指的数组中。 (4)说明 src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 返回指向dest的指针。 (5)举例 // strcpy.c #include #include main() { char *s=”Golden Global View”; char d[20]; clrscr(); strcpy(d,s); //这里只需要指定指针s的首地址和数组d的首地址即可,原因在于strcpy原型函数中定义的就是 //把src所指由NULL结束的字符串复制到dest所指的数组中,因此我们不需要zhidingsrc的结束位置,只需要指定开始位置 printf(“%s”,d); getchar(); return 0; } 说明: char s1[]=”12345″,*s2=”1234″; printf(“%d ” ,strlen(strcpy(s1,s2)));
则输出结果是:4 注意:strcpy是源文件覆盖目标区域,而不是替换前面的字符。 2、strcat (1)原型 extern char *strcat(char *dest,char *src); (2)用法 #include <string.h> (3)功能 把src所指字符串添加到dest结尾处(覆盖dest结尾处的’0′)并添加’0’。 (4)说明 src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 返回指向dest的指针。 (5)举例 // strcat.c #include <syslib.h> #include <string.h> main() { char d[20]=”Golden Global”; char *s=” View”; clrscr(); strcat(d,s); printf(“%s”,d); getchar(); return 0; }
3、易错点 (1)代码 Char *a=”abcd”; Char b[5]=”abcd”; Strcat(a,b); Char a[]=”abcd”; Char b[5]=”abcd”; Strcat(a,b); Char a[5]=”abcd”; Char b[5]=”abcd”; Strcat(a,b);
(2)分析 以上这3种方法都不能实现连接2个字符串,因为连接a,b之后字符串是存放在a中的,而以上3种方法所分配的a的内存大小都是放不下这2个字符串的,所以就会报错。 正确的方法如下: Char a[50]=”abcd”; //确保a字符串分配的内存空间足够大 Char b[5]=”abcd”; Strcat(a,b); Char a[50]=”abcd”; Char *b=”abcd”; //对于第2个字符串的形式就没有太大的要求了 Strcat(a,b); Strcpy(a,b)函数的注意点:同样的,a的内存空间必须比b大。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/80052.html