C string類和字串的訪問和拼接操作

2021-12-29 21:29:48 字數 1873 閱讀 8228

c++ 增強了對字串的支援,除了可以使用c中的字串,還可以使用內建的資料型別string,string類處理字串會翻遍很多,完全可以代替c語言中的char 陣列和char 指標。

使用sting類需要包含標頭檔案< sting >, 下面我們就來介紹怎麼使用。

string 的幾種用法:

#include

#include

using namespace std;

void main()輸出結果:

c plus plusc plus plussssss

請按任意鍵繼續. . .上面的幾行**介紹了 幾種定義string 型別變數的方法,變數s1只是定義但是沒有初始化,編譯器會將預設的值附給s1,預設值是」「(空字串)。

變數s2再定義的同時被初始化為」c plus plus 」與c語言中的char 字串不同,string型別的變數結尾沒有

『\0』,string 型別的本質是乙個個string類,而我們定義的變數則是乙個個的string類的物件,變數s3在定義的時候直接用s2進行初始化,因此s3的內容也是『c plus plus』。變數s4被初始化為由5個』s』字串組成的字串,也就是』sssss『。

與c語言中的字串不同,當我們需要知道字串長度時,可以呼叫string類提供的length()函式。如下所示:

string s = "c plus plus";

int len = s.length();

cout<編譯執行的結果:

這裡,變數 s 也是 string 類的物件,length() 是它的成員函式。由於 string 變數的末尾沒有 『\0』 字元,所以 length() 返回的是字串的真實長度,而不是長度 +1。

轉換為 char 陣列字串

c++雖然提供了string類來替代c語言中的char 陣列形式的字串,但是有時候程式設計中必須要使用c風格的字串,為此,string類提供了乙個轉換的函式c_str();函式能夠將 string 變數轉換為乙個 const 字串陣列的形式,並將指向該陣列的指標返回。請看下面的**:

string filename = "input.txt";

ifstream in;

in.open(filename.c_str());為了使用檔案開啟函式 open(),必須將 string 型別的變數轉換為字串陣列。

#ifndef _iterator_debug_level

#define _iterator_debug_level 0

#else

#undef _iterator_debug_level

#define _iterator_debug_level 0

#endif

#include

#include

//string字串->c字串轉換

void main()

; s1.copy(arr,4,0);

cout << arr << endl;

system("pause");

}編譯輸出結果:

far away

far請按任意鍵繼續. . .

string 字串的輸入輸出

string類過載了輸入輸出的運算子,用「>>」進行輸入,用」<

#include

#include

using namespace std;

int main()執行結果:

c plus

c請按任意鍵繼續. . .雖然我們輸入了兩個由空格隔開的」c plus』,但是只輸出了乙個,這是因為輸入的運算子「>>」缺省會忽略空格,遇到空格就認為輸入結束,所以最後輸入的plus沒有被儲存到變數裡面。

c string類字串查詢

1 find 函式 find 函式用於在 string 字串中查詢子字串出現的位置,它其中的兩種原型為 size t find const string str,size t pos 0 const size t find const char s,size t pos 0 const 第乙個引數為...

C string類中的字串查詢

c string類中的字串查詢 類string提供了大量查詢功能和搜尋功能,其中比較常用的查詢和搜尋函式是find 函式 find first not of 函式 find first of 函式 find last not of 函式 find last of 函式 rfind 等。find 函式...

C string字串類具體用法

c 大大增強了對字串的支援,除了可以使用c風格的字串,還可以使用內建的 string 類。string 類處理起字串來會方便很多,完全可以代替c語言中的字元陣列或字串指標。string 是 c 中常用的乙個類,它非常重要,我們有必要在此單獨講解一下。使用 string 類需要包含標頭檔案,下面的例子...