亚欧洲精品在线观看,窝窝影院午夜看片,久久国产成人午夜av影院宅,午夜91,免费国产人成网站,ts在线视频,欧美激情在线一区

C語(yǔ)言

C語(yǔ)言中字符串常用函數(shù)strcat與strcpy的用法

時(shí)間:2025-03-13 11:02:03 C語(yǔ)言 我要投稿
  • 相關(guān)推薦

C語(yǔ)言中字符串常用函數(shù)strcat與strcpy的用法

  C語(yǔ)言有豐富的數(shù)據(jù)結(jié)構(gòu)和運(yùn)算符。包含了各種數(shù)據(jù)結(jié)構(gòu),如整型、數(shù)組類型、指針類型和聯(lián)合類型等,用來(lái)實(shí)現(xiàn)各種數(shù)據(jù)結(jié)構(gòu)的運(yùn)算。以下是小編為大家搜索整理的C語(yǔ)言中字符串常用函數(shù)strcat與strcpy的用法,希望能給大家?guī)?lái)幫助!更多精彩內(nèi)容請(qǐng)及時(shí)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!

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

  頭文件:#include

  功能:把從src地址開(kāi)始且含有NULL結(jié)束符的字符串復(fù)制到以dest開(kāi)始的地址空間

  說(shuō)明:src和dest所指內(nèi)存區(qū)域不可以重疊且dest必須有足夠的空間來(lái)容納src的字符串。

  返回指向dest的指針。

  函數(shù)實(shí)現(xiàn):

  復(fù)制代碼 代碼如下:

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

  * C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)strcpy的一種典型的工業(yè)級(jí)的最簡(jiǎn)實(shí)現(xiàn)

  * 返回值:目標(biāo)串的地址。

  * 對(duì)于出現(xiàn)異常的情況ANSI-C99標(biāo)準(zhǔn)并未定義,故由實(shí)現(xiàn)者決定返回值,通常為NULL。

  * 參數(shù):

  * strDestination 目標(biāo)串

  * strSource 源串

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

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

  {

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

  char *strD=strDestination;

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

  return strDestination;

  }

  /*

  GNU-C中的實(shí)現(xiàn)(節(jié)選):

  */

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

  {

  char *r=d;

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

  return r;

  }

  /* while((*d++=*s++)); 的解釋:兩層括號(hào)是為了取賦值表達(dá)式的值,

  而賦值表達(dá)式的值為左操作數(shù),所以在復(fù)制NULL后,循環(huán)停止 */

  strcat原型

  extern char *strcat(char *dest,char *src);

  用法

  #include

  在C++中,則存在于頭文件中。

  功能

  把src所指字符串添加到dest結(jié)尾處(覆蓋dest結(jié)尾處的'')并添加''。

  說(shuō)明

  src和dest所指內(nèi)存區(qū)域不可以重疊且dest必須有足夠的空間來(lái)容納src的字符串。

  返回指向dest的指針。

  函數(shù)實(shí)現(xiàn):

  復(fù)制代碼 代碼如下:

  //將源字符串加const,表明其為輸入?yún)?shù)

  char *strcat(char *strDest, const char *strSrc)

  {

  // 后文return address,故不能放在assert斷言之后聲明address

  char *address = strDest;

  assert((strDest != NULL) && (strSrc != NULL)); //對(duì)源地址和目的地址加非0斷言

  while(*strDest) //是while(*strDest!='')的簡(jiǎn)化形式

  {

  //若使用while(*strDest++),則會(huì)出錯(cuò),因?yàn)檠h(huán)結(jié)束后strDest還會(huì)執(zhí)行一次++,

  //那么strDest將指向''的下一個(gè)位置。/所以要在循環(huán)體內(nèi)++;因?yàn)橐?strDest最后指

  //向該字符串的結(jié)束標(biāo)志''。

  strDest++;

  }

  while(*strDest++ = *strSrc++)

  {

  NULL; //該循環(huán)條件內(nèi)可以用++,

  } //此處可以加語(yǔ)句*strDest='';無(wú)必要

  return address; //為了實(shí)現(xiàn)鏈?zhǔn)讲僮,將目的地址返?/p>

  }

【C語(yǔ)言中字符串常用函數(shù)strcat與strcpy的用法】相關(guān)文章:

C語(yǔ)言中strpbr()函數(shù)的用法07-25

c語(yǔ)言中time函數(shù)的用法08-27

C語(yǔ)言中返回字符串函數(shù)的實(shí)現(xiàn)方法09-19

C語(yǔ)言的strcpy()和strncpy()函數(shù)09-20

C語(yǔ)言中函數(shù)的區(qū)分08-30

C 語(yǔ)言中返回字符串函數(shù)的四種實(shí)現(xiàn)方法09-18

c語(yǔ)言中bit的用法11-01

C語(yǔ)言中assert用法09-22

C語(yǔ)言中的assert用法10-10