C语言 百分网手机站

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

时间:2020-11-03 19:49:56 C语言 我要投稿

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

  C语言有丰富的数据结构和运算符。包含了各种数据结构,如整型、数组类型、指针类型和联合类型等,用来实现各种数据结构的运算。以下是小编为大家搜索整理的C语言中字符串常用函数strcat与strcpy的用法,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!

  strcpy原型声明:extern char *strcpy(char* dest, const char *src);

  头文件:#include

  功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间

  说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。

  返回指向dest的指针。

  函数实现:

  复制代码 代码如下:

  /**********************

  * C语言标准库函数strcpy的一种典型的工业级的`最简实现

  * 返回值:目标串的地址。

  * 对于出现异常的情况ANSI-C99标准并未定义,故由实现者决定返回值,通常为NULL。

  * 参数:

  * strDestination 目标串

  * strSource 源串

  ***********************/

  char *strcpy(char *strDestination,const char *strSource)

  {

  assert(strDestination!=NULL && strSource!=NULL);

  char *strD=strDestination;

  while ((*strD++=*strSource++)!='');

  return strDestination;

  }

  /*

  GNU-C中的实现(节选):

  */

  char* strcpy(char *d, const char *s)

  {

  char *r=d;

  while((*d++=*s++));

  return r;

  }

  /* while((*d++=*s++)); 的解释:两层括号是为了取赋值表达式的值,

  而赋值表达式的值为左操作数,所以在复制NULL后,循环停止 */

  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; //为了实现链式操作,将目的地址返回

  }

【C语言中字符串常用函数strcat与strcpy的用法】相关文章:

1.c语言中time函数的用法

2.C语言中strpbr()函数的用法

3.C语言中返回字符串函数的实现方法

4.C语言的strcpy()和strncpy()函数

5.C语言中assert用法

6.C语言中的assert用法

7.c语言中default的用法

8.c语言中free的用法

9.c语言中bit的用法