c++

c++字符串

c++字符串

字符串用於存儲文本字符。字符串變量在雙引號內包含一個或多個字符。c++使用C風格的字符串,並有自己的字符串類類型。

C風格的字符串取自C語言。這個字符串隻是一個以空字符'\0'結束的1-D字符數組。如。

Char元音[6]= {'a', 'e', 'i', 'o', 'u', ' \0 '};

元音中的最後一個字符將是'\0',編譯器在初始化元音數組時自動放置它。所以你的字符串最後會多出一個空格。讓我們看看當我們嚐試用5個字符而不是6個字符來排列元音時會發生什麼。將下麵的cope保存在一個文件中,例如checkString.cpp

#include 使用命名空間std;int main () {char元音[5]={‘一個’,‘e’,‘我’,‘o’,‘u’};cout << "Vowel list: ";Cout <<元音<< endl;返回0;現在編譯並運行它。(基地)15:30:13:~ % g++ checkString.cpp(基地)15:30:19:~ %。/。元音表:aeiou

c++支持大量操作以空結束的字符串的函數。例如,strcpy(複製一個字符串到另一個字符串),strcat(一個字符串到另一個字符串的末尾),strelen(查找字符串的長度)strcmp(比較兩個字符串是否相等)等。下麵的代碼顯示了其中一些函數的應用程序。將以下代碼複製到一個文件,例如CstringFunctions.cpp

// cin/cout流處理的頭文件#include  // C類型空終止的字符串函數的頭文件#include 使用命名空間std;int main () {char strA[10] = "Go";char strB[10] = "Corona";char strC [10];char strFinal [20];Int len;strcpy(strC, strA);cout << "strcpy(strC, strA)給出strC as " << strC << endl;//比較兩個字符串if (strcmp(strA, strC) == 0) cout<<"strA and strC are same"<
(base) 15:51:26:~ % g++ cStringFunctions.cpp (base) 15:51:30:~ % ./a。out strcpy(strC, strA)給出strC作為Go strA和strC是相同的strcat操作strFinal, strA, strB, strC給出strFinal作為Go Corona Go strlen(strFinal): 12

讓我們轉到新添加的c++字符串類。要使用字符串,必須在源代碼中包含一個額外的頭文件庫。String類提供了標準的字節容器,以及專門用於操作單字節字符字符串的附加特性。string類是basic_string類模板的實例化,它使用char(即字節)作為其字符類型。它使用默認的char_traits和allocator類型。我們可以對字符串執行許多操作,如連接、比較、轉換等。讓我們使用c++字符串實現相同的程序。類及其方法。將以下代碼複製到stringFunctions.cpp文件中

// cin/cout流處理的頭文件#include  // C類型空終止的字符串函數的頭文件#include <字符串>使用命名空間std;int main () {string strA = "Go";string strB = "Corona";字符串strC;字符串strFinal;int len;strC = strA;cout << "After replicate from strA, strC is " << strC << endl;//比較兩個字符串if (strA == strC) cout<<"strA and strC are same"<

現在編譯並運行代碼。你會得到相同的輸出

(base) 16:01:53:~ % g++ stringFunctions.cpp (base) 16:01:54:~ % ./a。從strA複製後,strC是Go strA, strC是相同的。在追加strA, strB和strC後,strFinal變成Go Corona Go strFinal.size()給出strFinal的len為12

Baidu
map