真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用字符串函數(shù)strcat

這篇文章主要講解了“如何使用字符串函數(shù)strcat”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“如何使用字符串函數(shù)strcat”吧!

我們提供的服務(wù)有:成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、平南ssl等。為成百上千企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的平南網(wǎng)站制作公司

C語(yǔ)言中的字符串函數(shù)有如下這些

  • 獲取字符串長(zhǎng)度

    • strlen

  • 長(zhǎng)度不受限制的字符串函數(shù)

    • strcpy

    • strcat

    • strcmp

  • 長(zhǎng)度受限制的字符串函數(shù)

    • strncpy

    • strncat

    • strncmp

  • 字符串查找

    • strstr

    • strtok

  • 錯(cuò)誤信息報(bào)告

    • strerror

長(zhǎng)度不受限制的字符串函數(shù)

strcat

老規(guī)矩,我們還是看看文檔是怎樣說(shuō)的,如下

strcat文檔

char * strcat ( char * destination, const char * source );

Concatenate strings

連接字符串

Appends a copy of the source string to the destination string. The terminating null character in destination is overwritten by the first character of source, and a null-character is included at the end of the new string formed by the concatenation of both in destination.

追加一個(gè)源字符串的拷貝到目的字符串中。在目的字符串中的'\0'會(huì)被源字符串的第一個(gè)字符重寫,然后'\0'會(huì)在新字符串的最后面。

destination and source shall not overlap.

目的字符串和源字符串不應(yīng)該重疊

可以知道

  1. 源字符串必須以 '\0' 結(jié)束。

  2. 雖然文檔沒(méi)說(shuō)目標(biāo)空間必須足夠大,但是想一想還是可以知道的,即目標(biāo)空間必須有足夠大,能容納下源字符串的內(nèi)容,不然就追加不上了

實(shí)現(xiàn)

斷言指針不為空是個(gè)好習(xí)慣~

char* my_strcat(char* dest, const char* src) 
{
    assert(dest != NULL);
    assert(src);
    char* rest = dest;
    // 1. 找到目的字符串的'\0'
    while (*dest != '\0') 
    {
        dest++;
    }
    // 2. 追加,就是字符串拷貝了,和之前的strcpy的實(shí)現(xiàn)一樣
    while (*dest++ = *src++) 
    {
        ;
    }
    return rest;
}

int main() 
{
    //char arr1[] = "hello";
    //char arr2[] = "world";

    //// 把a(bǔ)rr2追加到arr1上
    //strcat(arr1, arr2);
    //printf("%s\n", arr1);
    // 會(huì)報(bào)錯(cuò),空間不夠,上面的寫法是錯(cuò)誤的
    // 可以給arr1的大小固定一個(gè)大的空間,比如arr1[30]
    char arr1[30] = "hello\0xxxxxxxxx";
    char arr2[] = "world";

    // 把a(bǔ)rr2追加到arr1上
    //strcat(arr1, arr2);
    my_strcat(arr1, arr2);
    printf("%s\n", arr1);
    return 0;
}

總的來(lái)說(shuō),實(shí)現(xiàn)的思路就是,把源字符串追加到目的字符串的后面,從而實(shí)現(xiàn)字符串連接。問(wèn)題就在于如何找到目的字符串的尾部,很簡(jiǎn)單,就直接找'\0',找到'\0'就進(jìn)行追加,追加就是直接復(fù)制源字符到目的空間,以此循環(huán),復(fù)制直到遇到'\0'就結(jié)束,這樣就完成了字符串的連接了。

感謝各位的閱讀,以上就是“如何使用字符串函數(shù)strcat”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)如何使用字符串函數(shù)strcat這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!


本文名稱:如何使用字符串函數(shù)strcat
網(wǎng)站路徑:http://weahome.cn/article/jojsds.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部