栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言中字符串常用函数strcat与strcpy的用法介绍

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言中字符串常用函数strcat与strcpy的用法介绍

strcpy原型声明:extern char *strcpy(char* dest, const char *src);
头文件:#
include
功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
函数实现:
复制代码 代码如下:


 char *strcpy(char *strDestination,const char *strSource)
 {
   assert(strDestination!=NULL && strSource!=NULL);
   char *strD=strDestination;
   while ((*strD++=*strSource++)!='');
   return strDestination;
 }

 
 char* strcpy(char *d, const char *s)
 {
   char *r=d;
   while((*d++=*s++));
   return r;
 }
 

strcat原型
extern char *strcat(char *dest,char *src);
用法
#include
在C++中,则存在于头文件中。
功能
把src所指字符串添加到dest结尾处(覆盖dest结尾处的'')并添加''。
说明
src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
函数实现:
复制代码 代码如下:
//将源字符串加const,表明其为输入参数
char *strcat(char *strDest, const char *strSrc)
{
  // 后文return address,故不能放在assert断言之后声明address
  char *address = strDest;
  assert((strDest != NULL) && (strSrc != NULL)); //对源地址和目的地址加非0断言
  while(*strDest)             //是while(*strDest!='')的简化形式
  {
    //若使用while(*strDest++),则会出错,因为循环结束后strDest还会执行一次++,
    //那么strDest将指向''的下一个位置。/所以要在循环体内++;因为要是*strDest最后指
    //向该字符串的结束标志''。
    strDest++;
  }

  while(*strDest++ = *strSrc++)
  {
    NULL;             //该循环条件内可以用++,
  }                   //此处可以加语句*strDest='';无必要
  return address;     //为了实现链式操作,将目的地址返回
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/66396.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号