雷火电竞-中国电竞赛事及体育赛事平台

歡迎來(lái)到入門(mén)教程網(wǎng)!

C語(yǔ)言

當(dāng)前位置:主頁(yè) > 軟件編程 > C語(yǔ)言 >

strcat 函數(shù)的使用指南

來(lái)源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語(yǔ)言|點(diǎn)擊:

原型        extern char *strcat(char *dest,char *src);
用法        #include <string.h>

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

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

舉例

 char str4[] = "Hello world";
 char str5[] = "Hello World";
 cout << strcat(str4,str5) << endl;

會(huì)出錯(cuò),因?yàn)閟tr4沒(méi)有足夠的空間

下面是我自己的一個(gè)實(shí)現(xiàn),不足之處,還望指正!?。?/p>

#include "stdafx.h"
#include <iostream>
#include <assert.h>

using namespace std;
//連接字符串
char* mystrcat(char* destStr,const char* srcStr)   //如果兩個(gè)字符串是同一個(gè)字符串呢?
{
  assert(destStr != NULL && srcStr != NULL);

  char* temp=destStr;

  while(*destStr != '\0')
  {
    ++destStr;
  }
  while(*destStr++ = *srcStr++)
    NULL;
  return temp; //為了實(shí)現(xiàn)鏈?zhǔn)讲僮?,將目的地址返?
}
int _tmain(int argc, _TCHAR* argv[])
{
  char str1[25] = "Hello world";
  char str2[] = "Hello World";
  cout << mystrcat(str1,str2) << endl;
  return 0;
}


我們?cè)賮?lái)看下源函數(shù):

//=======================================================
#include "string.h"
char * __cdecl strcat ( char * dst, const char * src )
{
  char * cp = dst;     //保存dst指針
  while( *cp )
    cp++;         //查找dst字符串的末尾
  while( *cp++ = *src++ ) ; //拷貝src字符串到dst后面
  return( dst );      //返回dst字符串指針
}
//=============================================

舉例:

//=================================================
strcat()接受兩個(gè)字符串參數(shù)。將第二個(gè)字符串的一份拷貝添加到第一個(gè)字符串的結(jié)尾,從而使第一個(gè)字符串成為一個(gè)新的組合字符串,第二個(gè)字符串不改變。
#include<stdio.h>
#include<string.h>
int main(void)
{
  char str1[20];
  char str2[]="Hello word";
  
  gets(str1);   // 必須初始化
  strcat(str1,str2);
  puts(str2);
  puts(str1);
  
  getchar();
  return 0;
}

以上程序?qū)tring2字符串的拷貝到string1的結(jié)尾。第一個(gè)字符串成為一個(gè)新的組合字符串

注意: 在strcat()函數(shù)調(diào)用string1之前,string1必須初始化。

上一篇:C++字符數(shù)組的輸入輸出和字符串結(jié)束標(biāo)志使用講解

欄    目:C語(yǔ)言

下一篇:詳解C++中的內(nèi)聯(lián)函數(shù)和函數(shù)重載

本文標(biāo)題:strcat 函數(shù)的使用指南

本文地址:http://www.jygsgssxh.com/a1/Cyuyan/2754.html

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有