標準庫型別String

2022-08-26 09:45:14 字數 1625 閱讀 1694

定義和初始化string物件

初始化string物件方式

string s1   預設初始化,s1是乙個空串

string s2(s1)  s2是s1的副本

string s2 = s1  等價於s2(s1), s2是s1的副本

string s3("value")  s3是字面值"value"的副本,除了字面值最後的那個空字元外   //直接初始化

string  s3 = "value"  等價於s3("value"),s3 是字面值"value" 的副本        //拷貝初始化

string s4(n,'c')  把s4初始化為由連續n個字元c組成的串             //直接初始化

直接初始化和拷貝初始化   在上面的初始化方式中有說明  

string 物件上 操作

string  的empty和size操作

empty判斷string物件是否為空,返回值為布林值

size函式返回string物件的長度

比較string物件

運算子都依照大小寫敏感的字典順序來進行比較。

兩個string物件相加

兩個string物件相加得到乙個新的string物件。其內容是左側運算物件和右側運算物件串接而成,類似於: "hello" + "world" = "hello world";

字面值和string物件相加

當把string物件和字元字面值及字串字面值混在一條語句中使用時,必須要保證每個加法運算子的兩側的運算物件至少有乙個是string

string s5 = "hello" + ",  "  //錯誤,兩個物件都不是string,不能把字面值直接相加。

處理string物件中的字元

使用基於範圍的for語句處理每個字元

string str("some string");

for(auto c:str )

cout使用範圍for語句改變字串中的字元

string s("hello world");

for (auto &c : s) //注意這裡的c前有&

c = toupper(c);

這裡的c是引用,賦值語句將改變s中的字元的值。

只處理一部分字元:

下標運算子:s[i] 直接改

下標執行迭代(就是在for迴圈中加控制條件,將要更改的字元提取出來更改就ok了) 

使用下標執行隨機訪問

乙個小練習:

1 #include 2 #include 34

using

namespace

std;56

intmain()

714 cout << str <

1516 system("

pause");

17return0;

18 }

標準庫String型別

1 string物件的讀寫 用iostream標準庫可以用於讀寫內建型別如int double等的值,同樣也可以用iostream和string標準庫,使用輸入輸出操作符來讀寫string物件 注 從標準輸入讀取string,並將讀入的串儲存在s中。string型別的輸入操作符 另外還有乙個有用的s...

標準庫 string 型別

從標準輸入讀取 string 並將讀入的串儲存在 s 中。string 型別的輸入操作符 讀取並忽略開頭所有的空白字元 如空格,換行符,製表符 讀取字元直至再次遇到空白字元,讀取終止。輸入 hello world 則螢幕上將輸出 hello 而不含任何空格。這個函式接受兩個引數 乙個輸入流物件和乙個...

標準庫型別string

include using namespace std string定義在命名空間std中文件 string標準庫 string是乙個內部定義的類,初始化類物件的方式是通過類內部定義的構造方法決定的。下面列出幾個string常用的初始化方式 string s1 預設的初始化方式,s1是乙個空串 st...