字符串函数---strcat()与strncat详解及实现
来源:互联网 发布:mac系统怎么下载steam 编辑:程序博客网 时间:2024/05/21 05:40
一、strcat()与strncat()
strcat():strcat(dest,src); strcat把src所指向的字符添加到dest结尾处(覆盖原dest结尾处的'\0'),并添加新的'\0'。
说明:src和dest所指内存区域不可以重叠,并且dest必须有足够的空间来容纳src的字符串,返回指向dest的指针。
strncat():strncat(dest,src,n); strncat把速溶茶所指向的字符的前n个字符添加到dest结尾处(覆盖原dest结尾处的'\0'),并添加新的'\0'。
说明:src和dest所指内存区域不可以重叠,并且dest必须有足够的空间来容纳src的前n个字符串,返回指向dest的指针。
1.具体实例:
#include<iostream>#include<string>using namespace std;int main(){//以下strcatchar a[30]="lanzhihui is ";char b[]="a good boy!";strcat(a,b); //如果数组a的剩余存储空间不足以存放数组b,则出错。 //数组a中字符串的成为连接后的字符串cout<<"strcat(a,b):"<<a<<endl;//以下strncatchar c[30]="Hello ";char d[]="world!";strncat(c,d,sizeof(d)-1);cout<<"strncat(c,d):"<<c<<endl;strncat(c,d,30); //只要是c中空间足够大,可以存储d中的字符串,n为任何值都可以(实际上连接是按照d数组中的字符个数计算的)cout<<"strncat(c,d):"<<c<<endl;system("pause");return 0;}
2.以'\0'结束读取、连接
#include<iostream>#include<string>using namespace std;int main(){char a[100]="lanzhi\0hui is ";char b[]="a good \0boy!";strcat(a,b);//连接以'\0'结束,即数组a以'\0'停止,数组b以'\0'停止cout<<a<<endl;system("pause");return 0;}
二、strcat()与strncat()的具体实现
#include<iostream>#include<assert.h>using namespace std;char *strcat_m(char *dest,const char *str){assert((dest!=NULL)&&(str!=NULL));char *cp=dest;while(*cp!='\0') ++cp;while((*cp++=*str++)!='\0'){//}return dest;}char *strncat_m(char *dest,const char *str,int n){assert((dest!=NULL)&&(str!=NULL));char *cp=dest;while(*cp!='\0') ++cp;while(n&&(*cp++=*str++)!='\0'){--n;}return dest;}int main(){//以下strcatchar a[30]="lanzhihui is ";char b[]="a good boy!";strcat_m(a,b); cout<<"strcat(a,b):"<<a<<endl;//以下strncatchar c[30]="Hello ";char d[]="world!";strncat_m(c,d,sizeof(d)-1);cout<<"strncat(c,d):"<<c<<endl;strncat_m(c,d,30); cout<<"strncat(c,d):"<<c<<endl;system("pause");return 0;}
与调用原函数结果一样,strcat_m()与strncat_m()函数功能实现。
3 0
- 字符串函数---strcat()与strncat详解及实现
- 字符串函数---strcat()与strncat详解及实现
- 实现strcat( )和strncat( )函数
- 模拟实现strcat strncat函数
- 连接函数strcat与strncat
- 模拟实现strcat与strncat
- strcmp,strncmp,memcmp,strcat,strncat函数实现
- 函数strcat的实现(strncat)
- strcat()和strncat()函数的实现
- strcat()和strncat()函数的实现
- strcat和strncat函数的实现
- 【c语言】模拟实现strcat()、strncat()函数
- strcat和strncat 函数的实现
- strcat函数 strncat函数
- strcat和strncat函数
- strcat,strncat函数
- 自定义实现字符串处理函数 strlen strcmp strcpy strncpy strcat strncat strchr strstr
- 自定义实现字符串处理函数 strlen strcmp strcpy strncpy strcat strncat strchr strstr
- 【疑难解答】JSP中使用include标签
- 黑马程序员——Java基础——IO流笔记(File使用示例)
- IOS中类和对象还有,nil/Nil/NULL的区别
- struts 2 的运作流程介绍及分析(使用纯servlet模拟)
- leetcode - Recover Binary Search Tree
- 字符串函数---strcat()与strncat详解及实现
- MYSQL查询优化:使用索引
- 关于VC6.0和Matlab安装中的常见问题汇总
- 数组指针和指针数组的区别
- C++实现求数组中前K大的数
- 黑马程序员——Java基础——IO流笔记(PrintWriter使用示例)
- FPGA的俩位数码管动态扫描
- caffe源码修改:抽取任意一张图片的特征
- jquery mobile笔记