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

歡迎來到入門教程網(wǎng)!

C語(yǔ)言

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

strcat函數(shù)與strncat函數(shù)的深入分析

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

函數(shù)原型:extern char *strcat(char *dest,char *src)
參數(shù)說明:dest為一個(gè)目的字符串的指針,即被連接的字符串(在前),src為一個(gè)源字符串的指針(在后)。
所在庫(kù)名:#include <string.h>
函數(shù)功能:把src所指字符串添加到dest結(jié)尾處實(shí)現(xiàn)字符串的連接,連接過程覆蓋dest結(jié)尾處的'/0'。
返回說明:src和dest所指內(nèi)存區(qū)域不可以重疊,并且dest必須有足夠的空間來容納src的字符串返回指向dest的指針。
其它說明:暫時(shí)無。
實(shí)例:

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

#include<string.h>
#include<stdio.h>
int main()
...{
    char dest[100]="Hello,I am sky2098,I liking programing!";  //這里我們開辟了100個(gè)字節(jié)的空間,遠(yuǎn)遠(yuǎn)多于該字符串的空間大小,已備后面連接字符串后空間夠用
    char *src="gramk";
    char *temp;
    temp=strcat(dest,src);
    if(temp!=NULL)
    ...{
        printf("%s",temp);
    }
    else
    ...{
        printf("You cause an error!");
    }
    return 0;
}

在VC++ 6.0 編譯運(yùn)行:

如果最初為dest分配空間不足時(shí),比如我們這樣:
char *dest="Hello,I am sky2098,I liking programing!";
連接字符串時(shí)就會(huì)發(fā)生異常:



通過char *dest="Hello,I am sky2098,I liking programing!";我們只是為dest分配了strlen("Hello,I am sky2098,I liking programing!")+1;個(gè)字節(jié)空間,而連接是在dest的“/0”上覆蓋,而此時(shí)只有一個(gè)“/0”的空間大小,所以無法實(shí)現(xiàn)連接功能。
函數(shù)原型:extern char *strncat(char *dest,char *src,int n)
參數(shù)說明:
src為源字符串,dest為目的字符串,n為指定的src中的前n個(gè)字符。
所在庫(kù)名:#include <string.h>
函數(shù)功能:把src所指字符串的前n個(gè)字符添加到dest結(jié)尾處,覆蓋dest結(jié)尾處的'/0',實(shí)現(xiàn)字符串連接。
返回說明:返回指針,連接后的字符串。
其它說明:暫時(shí)無。
實(shí)例:

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

#include <string.h>
#include <stdio.h>
int main()
...{
    char str1[100]="SKY2098,persist IN DOING AGAIN!";
    char *str2="sky2098,must be honest!";
    int n=15;
    char *strtemp;
    strtemp=strncat(str1,str2,n);   //將字符串str2中的前n個(gè)字符連接到str1的后面
    printf("The string strtemp is:  %s  ", strtemp);
    return 0;
}

在VC++ 6.0 編譯運(yùn)行:

實(shí)現(xiàn)了指定某個(gè)字符串中的字符連接到另一個(gè)字符串上的操作。

上一篇:C/C++ 多線程的學(xué)習(xí)心得總結(jié)

欄    目:C語(yǔ)言

下一篇:基于C++全局變量的聲明與定義的詳解

本文標(biāo)題:strcat函數(shù)與strncat函數(shù)的深入分析

本文地址:http://www.jygsgssxh.com/a1/Cyuyan/4364.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)所有