定義和初始化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");這裡的c是引用,賦值語句將改變s中的字元的值。for (auto &c : s) //注意這裡的c前有&
c = toupper(c);
只處理一部分字元:
下標運算子:s[i] 直接改
下標執行迭代(就是在for迴圈中加控制條件,將要更改的字元提取出來更改就ok了)
使用下標執行隨機訪問
乙個小練習:
1 #include 2 #include 34using
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...