學(xué)習(xí)啦 > 學(xué)習(xí)英語 > 專業(yè)英語 > 計算機(jī)英語 > c語言中strcpy的用法

c語言中strcpy的用法

時間: 長思709 分享

c語言中strcpy的用法

  c語言中strcpy的用法的用法你知道嗎?下面小編就跟你們詳細(xì)介紹下c語言中strcpy的用法的用法,希望對你們有用。

  c語言中strcpy的用法的用法如下:

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

  頭文件:#include <string.h>

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

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

  返回指向dest的指針。

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

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

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

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

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

  * 對于出現(xiàn)異常的情況ANSI-C99標(biāo)準(zhǔn)并未定義,故由實現(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++)!='

c語言中strcpy的用法

時間: 長思709 分享

c語言中strcpy的用法

  c語言中strcpy的用法的用法你知道嗎?下面小編就跟你們詳細(xì)介紹下c語言中strcpy的用法的用法,希望對你們有用。

  c語言中strcpy的用法的用法如下:

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

  頭文件:#include <string.h>

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

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

  返回指向dest的指針。

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

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

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

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

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

  * 對于出現(xiàn)異常的情況ANSI-C99標(biāo)準(zhǔn)并未定義,故由實現(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++)!='\0');

  return strDestination;

  }

  /*

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

  */

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

  {

  char *r=d;

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

  return r;

  }

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

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

  strcat原型

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

  用法

  #include <string.h>

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

  功能

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

  說明

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

  返回指向dest的指針。

  函數(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)); //對源地址和目的地址加非0斷言

  while(*strDest)             //是while(*strDest!='\0')的簡化形式

  {

  //若使用while(*strDest++),則會出錯,因為循環(huán)結(jié)束后strDest還會執(zhí)行一次++,

  //那么strDest將指向'\0'的下一個位置。/所以要在循環(huán)體內(nèi)++;因為要是*strDest最后指

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

  strDest++;

  }

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

  {

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

  }                   //此處可以加語句*strDest='\0';無必要

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

  }

');

  return strDestination;

  }

  /*

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

  */

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

  {

  char *r=d;

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

  return r;

  }

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

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

  strcat原型

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

  用法

  #include <string.h>

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

  功能

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

c語言中strcpy的用法

時間: 長思709 分享

c語言中strcpy的用法

  c語言中strcpy的用法的用法你知道嗎?下面小編就跟你們詳細(xì)介紹下c語言中strcpy的用法的用法,希望對你們有用。

  c語言中strcpy的用法的用法如下:

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

  頭文件:#include <string.h>

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

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

  返回指向dest的指針。

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

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

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

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

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

  * 對于出現(xiàn)異常的情況ANSI-C99標(biāo)準(zhǔn)并未定義,故由實現(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++)!='\0');

  return strDestination;

  }

  /*

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

  */

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

  {

  char *r=d;

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

  return r;

  }

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

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

  strcat原型

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

  用法

  #include <string.h>

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

  功能

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

  說明

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

  返回指向dest的指針。

  函數(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)); //對源地址和目的地址加非0斷言

  while(*strDest)             //是while(*strDest!='\0')的簡化形式

  {

  //若使用while(*strDest++),則會出錯,因為循環(huán)結(jié)束后strDest還會執(zhí)行一次++,

  //那么strDest將指向'\0'的下一個位置。/所以要在循環(huán)體內(nèi)++;因為要是*strDest最后指

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

  strDest++;

  }

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

  {

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

  }                   //此處可以加語句*strDest='\0';無必要

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

  }

')并添加'

c語言中strcpy的用法

時間: 長思709 分享

c語言中strcpy的用法

  c語言中strcpy的用法的用法你知道嗎?下面小編就跟你們詳細(xì)介紹下c語言中strcpy的用法的用法,希望對你們有用。

  c語言中strcpy的用法的用法如下:

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

  頭文件:#include <string.h>

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

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

  返回指向dest的指針。

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

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

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

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

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

  * 對于出現(xiàn)異常的情況ANSI-C99標(biāo)準(zhǔn)并未定義,故由實現(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++)!='\0');

  return strDestination;

  }

  /*

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

  */

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

  {

  char *r=d;

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

  return r;

  }

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

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

  strcat原型

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

  用法

  #include <string.h>

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

  功能

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

  說明

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

  返回指向dest的指針。

  函數(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)); //對源地址和目的地址加非0斷言

  while(*strDest)             //是while(*strDest!='\0')的簡化形式

  {

  //若使用while(*strDest++),則會出錯,因為循環(huán)結(jié)束后strDest還會執(zhí)行一次++,

  //那么strDest將指向'\0'的下一個位置。/所以要在循環(huán)體內(nèi)++;因為要是*strDest最后指

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

  strDest++;

  }

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

  {

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

  }                   //此處可以加語句*strDest='\0';無必要

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

  }

'。

  說明

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

  返回指向dest的指針。

  函數(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)); //對源地址和目的地址加非0斷言

  while(*strDest) //是while(*strDest!='

c語言中strcpy的用法

時間: 長思709 分享

c語言中strcpy的用法

  c語言中strcpy的用法的用法你知道嗎?下面小編就跟你們詳細(xì)介紹下c語言中strcpy的用法的用法,希望對你們有用。

  c語言中strcpy的用法的用法如下:

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

  頭文件:#include <string.h>

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

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

  返回指向dest的指針。

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

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

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

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

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

  * 對于出現(xiàn)異常的情況ANSI-C99標(biāo)準(zhǔn)并未定義,故由實現(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++)!='\0');

  return strDestination;

  }

  /*

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

  */

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

  {

  char *r=d;

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

  return r;

  }

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

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

  strcat原型

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

  用法

  #include <string.h>

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

  功能

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

  說明

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

  返回指向dest的指針。

  函數(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)); //對源地址和目的地址加非0斷言

  while(*strDest)             //是while(*strDest!='\0')的簡化形式

  {

  //若使用while(*strDest++),則會出錯,因為循環(huán)結(jié)束后strDest還會執(zhí)行一次++,

  //那么strDest將指向'\0'的下一個位置。/所以要在循環(huán)體內(nèi)++;因為要是*strDest最后指

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

  strDest++;

  }

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

  {

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

  }                   //此處可以加語句*strDest='\0';無必要

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

  }

')的簡化形式

  {

  //若使用while(*strDest++),則會出錯,因為循環(huán)結(jié)束后strDest還會執(zhí)行一次++,

  //那么strDest將指向'

c語言中strcpy的用法

時間: 長思709 分享

c語言中strcpy的用法

  c語言中strcpy的用法的用法你知道嗎?下面小編就跟你們詳細(xì)介紹下c語言中strcpy的用法的用法,希望對你們有用。

  c語言中strcpy的用法的用法如下:

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

  頭文件:#include <string.h>

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

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

  返回指向dest的指針。

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

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

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

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

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

  * 對于出現(xiàn)異常的情況ANSI-C99標(biāo)準(zhǔn)并未定義,故由實現(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++)!='\0');

  return strDestination;

  }

  /*

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

  */

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

  {

  char *r=d;

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

  return r;

  }

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

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

  strcat原型

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

  用法

  #include <string.h>

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

  功能

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

  說明

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

  返回指向dest的指針。

  函數(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)); //對源地址和目的地址加非0斷言

  while(*strDest)             //是while(*strDest!='\0')的簡化形式

  {

  //若使用while(*strDest++),則會出錯,因為循環(huán)結(jié)束后strDest還會執(zhí)行一次++,

  //那么strDest將指向'\0'的下一個位置。/所以要在循環(huán)體內(nèi)++;因為要是*strDest最后指

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

  strDest++;

  }

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

  {

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

  }                   //此處可以加語句*strDest='\0';無必要

  return address;     //為了實現(xiàn)鏈?zhǔn)讲僮鳎瑢⒛康牡刂贩祷?/p>

  }

'的下一個位置。/所以要在循環(huán)體內(nèi)++;因為要是*strDest最后指

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

c語言中strcpy的用法

時間: 長思709 分享

c語言中strcpy的用法

  c語言中strcpy的用法的用法你知道嗎?下面小編就跟你們詳細(xì)介紹下c語言中strcpy的用法的用法,希望對你們有用。

  c語言中strcpy的用法的用法如下:

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

  頭文件:#include <string.h>

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

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

  返回指向dest的指針。

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

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

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

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

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

  * 對于出現(xiàn)異常的情況ANSI-C99標(biāo)準(zhǔn)并未定義,故由實現(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++)!='\0');

  return strDestination;

  }

  /*

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

  */

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

  {

  char *r=d;

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

  return r;

  }

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

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

  strcat原型

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

  用法

  #include <string.h>

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

  功能

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

  說明

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

  返回指向dest的指針。

  函數(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)); //對源地址和目的地址加非0斷言

  while(*strDest)             //是while(*strDest!='\0')的簡化形式

  {

  //若使用while(*strDest++),則會出錯,因為循環(huán)結(jié)束后strDest還會執(zhí)行一次++,

  //那么strDest將指向'\0'的下一個位置。/所以要在循環(huán)體內(nèi)++;因為要是*strDest最后指

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

  strDest++;

  }

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

  {

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

  }                   //此處可以加語句*strDest='\0';無必要

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

  }

'。

  strDest++;

  }

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

  {

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

  } //此處可以加語句*strDest='

c語言中strcpy的用法

時間: 長思709 分享

c語言中strcpy的用法

  c語言中strcpy的用法的用法你知道嗎?下面小編就跟你們詳細(xì)介紹下c語言中strcpy的用法的用法,希望對你們有用。

  c語言中strcpy的用法的用法如下:

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

  頭文件:#include <string.h>

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

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

  返回指向dest的指針。

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

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

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

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

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

  * 對于出現(xiàn)異常的情況ANSI-C99標(biāo)準(zhǔn)并未定義,故由實現(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++)!='\0');

  return strDestination;

  }

  /*

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

  */

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

  {

  char *r=d;

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

  return r;

  }

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

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

  strcat原型

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

  用法

  #include <string.h>

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

  功能

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

  說明

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

  返回指向dest的指針。

  函數(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)); //對源地址和目的地址加非0斷言

  while(*strDest)             //是while(*strDest!='\0')的簡化形式

  {

  //若使用while(*strDest++),則會出錯,因為循環(huán)結(jié)束后strDest還會執(zhí)行一次++,

  //那么strDest將指向'\0'的下一個位置。/所以要在循環(huán)體內(nèi)++;因為要是*strDest最后指

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

  strDest++;

  }

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

  {

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

  }                   //此處可以加語句*strDest='\0';無必要

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

  }

';無必要

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

  }

533404