中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

C++字符串:StrucYe()、Struts()、StruLe()、Strucp()實(shí)例

發(fā)布于:2021-01-27 15:31:38

0

149

0

C++ 字符串 StrucYe() Struts() StruLe() Strucp()

什么是字符串?

字符串是一個(gè)字符序列。C++字符串是STD::string類的對(duì)象。字符是允許訪問單個(gè)字符字節(jié)的字節(jié)序列。

C++字符串動(dòng)態(tài)分配內(nèi)存。如果需要,可以在運(yùn)行時(shí)為字符串分配更多內(nèi)存。因?yàn)闆]有內(nèi)存預(yù)分配,所以沒有內(nèi)存浪費(fèi)。我們可以對(duì)字符串執(zhí)行各種操作,包括比較、串聯(lián)、轉(zhuǎn)換等。

聲明字符串

C++支持兩種類型的字符串聲明:

  • C樣式字符串

  • 字符串類類型

C樣式字符串

這種類型的字符串聲明是在C編程語(yǔ)言中引入的。C++繼續(xù)支持它。它只是一個(gè)以空字符( 0)結(jié)尾的一維字符數(shù)組。以null結(jié)尾的字符串包含組成字符串的字符,然后后跟null。

考慮下面給出的字符串聲明:

char name[5] = {'J', 'o', 'h', 'n', ''};

上面的聲明創(chuàng)建了一個(gè)字符串,形成單詞John。單詞有4個(gè)字符,但字符串的大小為5。額外的空間允許容納空字符。

使用數(shù)組初始化規(guī)則,我們可以編寫如下語(yǔ)句:

char name[] = "John";

請(qǐng)注意,您不必將空字符放在字符串常量的末尾。在初始化數(shù)組時(shí),C++編譯器將自動(dòng)在字符串的末尾放置“0”。

std :: string

標(biāo)準(zhǔn)C++庫(kù)提供支持各種字符串操作的字符串類。它被寫成std :: string。

要使用此類,必須首先使用#include預(yù)處理器將其包含到工作區(qū)中,如下所示:

#include <string>

接下來(lái),我們可以使用string關(guān)鍵字聲明字符串。例如:

string name = "John";

上面的語(yǔ)句將創(chuàng)建一個(gè)名為name的字符串來(lái)保存值John。

訪問字符串值

在C++中,我們可以使用字符串名稱訪問字符串值。例如:

#include <iostream>
using namespace std;
int main() {
char name[5] = { 'J', 'o', 'h', 'n', '' };
cout << "String value is: ";
cout << name << endl;
return 0;
}

輸出:

 

以下是代碼截圖:

 

代碼說(shuō)明:

  1. 在我們的代碼中包含iostream頭文件。它將允許我們讀取和寫入控制臺(tái)。

  2. 包括std名稱空間,以便在不調(diào)用它的情況下使用它的類和函數(shù)。

  3. 調(diào)用main()函數(shù),其中應(yīng)添加程序邏輯。{標(biāo)記main()函數(shù)主體的開始。

  4. 聲明一個(gè)字符串并為其命名。字符串將存儲(chǔ)值John。多余的空間將存儲(chǔ)空字符。

  5. 在控制臺(tái)上打印一些文本。

  6. 在控制臺(tái)上打印名為name的字符串的值。

  7. 如果程序運(yùn)行正常,main()函數(shù)應(yīng)該返回一個(gè)值。

  8. main()函數(shù)主體的結(jié)尾。

這里是使用C++標(biāo)準(zhǔn)字符串類的另一個(gè)例子:

    #include <iostream>
    #include <string>
    using namespace std;
    int main() {

    string name = "Guru99";

    cout << "The name is : " << name << endl;

    return 0;
    }

    輸出:

     

    以下是代碼截圖:

     

    代碼說(shuō)明:

  1. 在我們的代碼中包含iostream頭文件。它將允許我們讀取和寫入控制臺(tái)。

  2. 在我們的代碼中包含標(biāo)準(zhǔn)字符串類。

  3. 包括std名稱空間,以便在不調(diào)用它的情況下使用它的類和函數(shù)。

  4. 調(diào)用main()函數(shù),其中應(yīng)添加程序邏輯。{標(biāo)記main()函數(shù)主體的開始。

  5. 聲明一個(gè)字符串并為其命名。字符串將存儲(chǔ)Guru99的值。

  6. 將字符串名稱的值與控制臺(tái)上的某些文本一起打印。

  7. 如果程序運(yùn)行正常,main()函數(shù)應(yīng)該返回一個(gè)值。

  8. main()函數(shù)主體的結(jié)尾。

    字符串函數(shù):

    您經(jīng)常需要操縱字符串。C++提供了一個(gè)廣泛的函數(shù),您可以為此使用。這些函數(shù)是在CString類中定義的,因此,為了使用這些函數(shù),我們必須在代碼中包含它。讓我們討論一下:

    strcpy()

    這是字符串復(fù)制函數(shù)。它將一個(gè)字符串復(fù)制到另一個(gè)字符串中。

    語(yǔ)法:

    strcpy(string1, string2);

    函數(shù)的兩個(gè)參數(shù)string1和string2是字符串。函數(shù)將把字符串string1復(fù)制到字符串1中。

    strcat()

    這是字符串連接函數(shù)。它連接字符串。

    語(yǔ)法:

    strcat(string1, string2);

    函數(shù)的兩個(gè)參數(shù)string1和string2是要連接的字符串。上面的函數(shù)將字符串string2連接到字符串string1的末尾。

    strlen()

    這是字符串長(zhǎng)度函數(shù)。它返回作為參數(shù)傳遞給它的字符串的長(zhǎng)度。

    語(yǔ)法:

    strnlen(string1)

    參數(shù)string1是要確定其長(zhǎng)度的字符串的名稱。上面的函數(shù)將返回字符串string1的長(zhǎng)度。

    strcmp()

    這是字符串比較函數(shù)。它用于字符串比較。

    語(yǔ)法:

    strcmp(string1, string2);

    如果字符串string1和string2相似,則上述函數(shù)將返回0;如果string1

    示例:

    以下示例演示如何使用上述字符串函數(shù):

    #include <iostream>
    #include <cstring>
    using namespace std;
    int main() {

    char name1[10] = "Guru99";
    char name2[10] = "John";
    char name3[10];

    int  len;
    strcpy(name3, name1);
    cout << "strcpy( name3, name1) : " << name3 << endl;

    strcat(name1, name2);
    cout << "strcat( name1, name2): " << name1 << endl;

    len = strlen(name1);
    cout << "strlen(name1) : " << len << endl;
    return 0;
    }

    輸出:

     

    以下是代碼截圖:

     

    代碼說(shuō)明:

  1. 在我們的代碼中包含iostream頭文件。它將允許我們讀取和寫入控制臺(tái)。

  2. 在我們的代碼中包含標(biāo)準(zhǔn)CString類。

  3. 包括std名稱空間,以便在不調(diào)用它的情況下使用它的類和函數(shù)。

  4. 調(diào)用main()函數(shù),其中應(yīng)添加程序邏輯。{標(biāo)記main()函數(shù)主體的開始。

  5. 聲明一個(gè)由10個(gè)字符組成的字符串,并將其命名為name1。字符串將存儲(chǔ)Guru99的值。

  6. 聲明一個(gè)由10個(gè)字符組成的字符串,并將其命名為name2。字符串將存儲(chǔ)值John。

  7. 聲明一個(gè)由10個(gè)字符組成的字符串,并將其命名為name3。

  8. 聲明一個(gè)名為len的整數(shù)變量。

  9. 將字符串名稱1復(fù)制到字符串名稱3中。

  10. 在控制臺(tái)上打印字符串name1的值和一些文本。它應(yīng)該打印Guru99。

  11. 將字符串name2連接到字符串name1的末尾。name1的值現(xiàn)在是Guru99John。

  12. 在控制臺(tái)上打印字符串name1的值和一些文本。它應(yīng)該打印Guru99John

  13. 來(lái)確定名為name1的字符串的長(zhǎng)度,并將長(zhǎng)度值賦給變量len。

  14. 在控制臺(tái)上打印len變量的值和一些其他文本。

  15. 如果程序運(yùn)行正常,main()函數(shù)應(yīng)該返回一個(gè)值。

  16. main()函數(shù)主體的結(jié)尾。

    摘要

  • 字符串是一個(gè)字符序列。

  • 字符串屬于C++中的標(biāo)準(zhǔn)字符串類。

  • 我們可以使用C樣式字符串或標(biāo)準(zhǔn)字符串類聲明字符串。

  • strcpy()函數(shù)將一個(gè)字符串復(fù)制到另一個(gè)字符串中。

  • strcat()函數(shù)連接兩個(gè)函數(shù)。

  • strlen()函數(shù)返回函數(shù)的長(zhǎng)度。

  • strcmp()函數(shù)比較兩個(gè)字符串。