<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. C語言

    C語言中字符串常用函數strcat與strcpy的用法

    時間:2025-03-13 11:02:03 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的用法】相關文章:

    C語言中strpbr()函數的用法07-25

    c語言中time函數的用法08-27

    C語言中返回字符串函數的實現方法09-19

    C語言的strcpy()和strncpy()函數09-20

    C語言中函數的區分08-30

    C 語言中返回字符串函數的四種實現方法09-18

    c語言中bit的用法11-01

    C語言中assert用法09-22

    C語言中的assert用法10-10

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人