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\n" ,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大。

最新文章

  1. Visual Studio:error MSB8020(搬运)
  2. 单据UI界面设计开发
  3. IOS中十六进制的颜色转换为UIColor
  4. rpc框架: thrift/avro/protobuf 之maven插件生成java类
  5. LoadRunner录制图片验证码
  6. JavaScript语法(一)
  7. 删除Android自带软件方法及adb remount 失败解决方案
  8. 解决nginx 504 Gateway Time-out的一些方法
  9. 破解 Adobe 系列的最佳方法,手把手教
  10. vijos1056题解
  11. 高性能、高可用、高扩展ERP系统架构设计
  12. linux 下安装php curl扩展
  13. shell test和find命令实例解析
  14. struts校验
  15. c/c++ 哈希表 hashtable
  16. Spring框架基本代码
  17. js中定时器相关
  18. spring MVC、mybatis配置读写分离,ReplicationDriver(转载)
  19. ibatitsnet 因为会Dao.config 配置数据版本太低导致的问题
  20. 深入理解MyBatis的原理:整个体系

热门文章

  1. JS ----- 底层原理
  2. [ASP.NET] 解决因为使用 updatepanel 导致 fileupload 始终无法获取文件的方法
  3. django-restframework使用
  4. Js和Jquery实现ajax长轮询
  5. jse中将数据反转
  6. React结合AntD的upload组件写头像上传
  7. 2-Elasticsearch原理
  8. Adobe cc2019全家桶(免破解直接安装版)
  9. 一、json数组的键和值
  10. Linux sed神器