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 ...
随机推荐
- Java 浮点数的范围和精度
本篇先介绍IEEE754标准中针对浮点数的规范,然后以问答形式补充有关浮点数的知识点. (一)IEEE754标准 IEEE 754 标准即IEEE浮点数算术标准,由美国电气电子工程师学会(IEEE)计 ...
- 小程序图片预览 wx.previewImage
list: [ 'http://img5.imgtn.bdimg.com/it/u=3300305952,1328708913&fm=26&gp=0.jpg', 'http://i ...
- HTML标签-->段落,格式,文本
只有努力奔跑,才能一直停留在原地. <!--段落标签--> <h1>默认向左</h1> <h1 align="right">向右对齐 ...
- 启用yarn的高可用
选择高可用的主机,新的一台: 点运行结束后,会看到实例会多出一个备用的节点:
- SQLSERVER 秘钥整理
SQLSERVER 2017 Enterprise Core 6GPYM-VHN83-PHDM2-Q9T2R-KBV83 Developer ---- Enterprise TDKQD-PKV44-P ...
- Java 创建bat命令文件运行可执行jar包
在可执行jar包所在文件夹下创建txt文件(必须在同一文件夹目录下),打开创建的txt文件输入如下内容并保存: @echo off java -jar 包名.jar pause 如下图所示: 然后将后 ...
- 关于 Spring AOP (AspectJ) 你该知晓的一切 (转)
出处:关于 Spring AOP (AspectJ) 你该知晓的一切
- C# ref out parase 理解
这节课我们来学习方法中的参数传递,在面向对象二中,我曾说过,参数也属于变量的一种,在c语言的学习时,同学们都学习过参数这个概念和用法,方法使用参数列表来传递变量的基本语法如下:returnType ...
- Qualcomm_Mobile_OpenCL.pdf 翻译-9-OpenCL优化用例的学习
在这一章中,将会用一些例子来展示如何使用之前章节中讨论的技术来进行优化.除了一些小的简单代码片段的展示外,还有两个熟知的图像滤波处理,Epsilon滤波和Sobel滤波,将会使用之前章节中讨论的方法进 ...
- 2019长安大学ACM校赛网络同步赛 J Binary Number(组合数学+贪心)
链接:https://ac.nowcoder.com/acm/contest/897/J 来源:牛客网 Binary Number 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32 ...