一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - C/C++ - C語言中字符串常用函數(shù)strcat與strcpy的用法介紹

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

2020-12-17 15:06C語言教程網(wǎng) C/C++

以下是對C語言中字符串常用函數(shù)strcat與strcpy的使用方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下

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ù)實(shí)現(xiàn):

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


/**********************
 * C語言標(biāo)準(zhǔn)庫函數(shù)strcpy的一種典型的工業(yè)級的最簡實(shí)現(xiàn)
 * 返回值:目標(biāo)串的地址。
 * 對于出現(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++)!='\0');
   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++)); 的解釋:兩層括號是為了取賦值表達(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ù)實(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++),則會出錯,因?yàn)檠h(huán)結(jié)束后strDest還會執(zhí)行一次++,
    //那么strDest將指向'\0'的下一個位置。/所以要在循環(huán)體內(nèi)++;因?yàn)橐?strDest最后指
    //向該字符串的結(jié)束標(biāo)志'\0'。
    strDest++;
  }

  while(*strDest++ = *strSrc++)
  {
    NULL;             //該循環(huán)條件內(nèi)可以用++,
  }                   //此處可以加語句*strDest='\0';無必要
  return address;     //為了實(shí)現(xiàn)鏈?zhǔn)讲僮鳎瑢⒛康牡刂贩祷?br /> }

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 双子母性本能在线 | 羞羞漫画免费漫画页面在线看漫画秋蝉 | 亚洲黄色片免费看 | 亚洲高清影院 | 无码AV精品一区二区三区 | 四虎影视在线观看永久地址 | 忘忧草在线社区WWW日本直播 | 国内体内she精视频免费 | 女同性互吃奶乳免费视频 | 桃乃木香奈作品在线 | 天天爱天天操天天射 | 无码AV熟妇素人内射V在线 | 亚洲国产在 | 德国高清freexxxx性 | 青青久久精品国产免费看 | 亚洲国产精品成人久久 | 亚洲一区二区三区久久精品 | 高h文道具| 成人免费视频一区二区三区 | 2012年中文字幕在线看 | 午夜久久久久久亚洲国产精品 | 免费观看在线 | 天海翼最新作品 | 国产成人愉拍精品 | 四虎影视免费 | 国产欧美一区二区精品性色99 | 国产欧美日韩在线不卡第一页 | 九九热在线视频观看这里只有精品 | 久久免费资源福利资源站 | 国产女王女m视频vk 国产农村一级特黄α真人毛片 | 精品日本三级在线观看视频 | 亚洲福利天堂 | 日韩福利网站 | 欧美成人福利视频 | 日韩精品特黄毛片免费看 | 亚洲夜色夜色综合网站 | 国产成人影院在线观看 | 亚洲天堂导航 | 精品国产无限资源免费观看 | 韩剧在线免费观看 | 精品欧美日韩一区二区三区 |