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\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大。
strcat()与strcpy()用法的更多相关文章
- 字符串处理strcpy strcat函数的用法
C语言函数字符串处理strcpy strcat函数的用法: 1)strcat是用来连接两个字符串的,原型是char *strcat(char *dest,char *src),作用是把src所指字符串 ...
- 转:strcat与strcpy与strcmp与strlen
转自:http://blog.chinaunix.net/uid-24194439-id-90782.html strcat 原型:extern char *strcat(char *dest,cha ...
- C语言中字符串常用函数--strcat,strcpy
strcpy 原型声明:extern char *strcpy(char* dest, const char *src); 头文件:#include <string.h> 功能:把从src ...
- strcat、strcpy、memcpy 的使用注意
char *p = "hello";//5 个长度 ; //char *str = (char *)malloc(sizeof(char)*len); ] = "niha ...
- 学习strcat与strcpy
前几天刚有点认识了strlen和sizeof,今天又有点认识了strcpy和strcat. 在vc2010环境下 1 strcpy strcpy(p,q),p要么为数组,要么为空指针,要是为空指针操作 ...
- strlen、strcmp、strcat、strcpy、memcpy基础函数的实现
最近实习+投简历+琐事弄得自己忙的不行不行的,终于今天可以开始记录一些东西了... 1.strlen函数的实现 int strlen(const char *str){ assert(str!=NUL ...
- c语言中几个常见的库函数strlen、strcmp、strcat、strcpy、strncpy、memset、memcpy、memmove、mmap
1.strlen() 1)计算给定字符串的长度,不包括’\0’在内 unsigned int strlen(const char *s) { assert(NULL != s);//如果条件不满足,则 ...
- strcpy(),strcat()的用法
strcpy(): 定义一个字符串char a[20],和一个字符串c[]="i am a teacher!"; 把c复制到a中就可以这样用:strcpy(a,c); 这个函数包含 ...
- strcat strcpy 使用出现的问题汇总
事例1(转) 在程序中多次用的strcat函数,但是有时候编译通过,但是执行时却出现了错误.为了进一步了解strcat函数的使用,我首先写了这样的一个测试程序: main(){ char ...
随机推荐
- css 命名 有的加# ,有的加点 ,有的没加。请问下都在什么情况下用的?
[nav{}]这样的样式是给特定的标签直接定义样式时使用的,这个样式名称是跟标签是相对应的,比如我要给<p></p>这个标签设置样式,那我就可以直接写:p{样式}就可以,但是这 ...
- [转帖]linux进程管理总结
linux进程管理总结 https://www.cnblogs.com/chenfangzhi/p/10660355.html 高手总结的.. 看出来我是菜逼. 目录 一.进程相关的概念 二.关闭会话 ...
- dhcp协议简介
协议分析 - DHCP协议解码详解 DHCP协议简介 DHCP,全称是 Dynamic Host Configuration Protocol﹐中文名为动态主机配置协议,它的前身是 BOOTP,它工作 ...
- Python常用库整理
Python常用库整理 Python中到底有哪些库会让程序员爱不释手?以至于一次上瘾,造成永久性伤害(这句话好像在哪里见过),今天我们就来整理一番这样的库,欢迎各位在评论区或者私信我添加或者修改相关库 ...
- C++ bool、三目运算符、引用
bool变量: C++相对于C语言加入了bool变量,其值为true(1) 和 false(0).true表示不为零的数 false表示为零的数,占用一个字节的空间. 代码: /* 编译环境 gc ...
- OpenSSL使用小结
引言 互联网的发展史上,安全性一直是开发者们相当重视的一个主题,为了实现数据传输安全,我们需要保证:数据来源(非伪造请求).数据完整性(没有被人修改过).数据私密性(密文,无法直接读取)等.虽然现在已 ...
- CDH部署StreamSets
StreamSets是一个大数据采集工具,数据源支持包括结构化和半/非结构化,目标源支持HDFS,HBase,Hive,Kudu,Cloudera Search, ElasticSearch等.它包括 ...
- 使用Vim打开十六进制的文件
So Easy 这里使用打开 Hello.class 文件为例 首先使用 vim -b Hello.class 打开文件,然后在 Vim 的命令模式下输入 :%!xxd 回车即可看见文件内容. 效果: ...
- easyui,获取tabs标签页内容,以及刷新datagrid
因为先点开tab页xxx查看表格,再点另一个tab页xxxx修改部分信息,再切换到tab页xxx,tab页xxx里的datagrid表格不会刷新,显示不了修改的信息(在此tab页按F5刷新可以解决,但 ...
- Windows向Linux上传文件夹
1.将文件夹压缩成.tar.gz文件: 安装7-Zip,选择要压缩的文件夹--右键--“7-Zip”--“添加到压缩包...”,压缩格式选择“tar”, 在此目下就生成了“文件夹名.tar”文件, ...