標準庫string型別

2021-07-25 18:13:33 字數 1164 閱讀 8173

一. 首先作為一種標準庫型別,string存在四種基本的建構函式。如下:

string s;  //預設建構函式,s為空串

string s(s1);//用s1來初始化s

string s("my blog

");  //將s初始化為乙個字串字面值

string s(n,'c'); //將s初始化為n個『c』的副本

二.對於輸入主要就是cin>>s;

(1)讀取並忽略開頭所有的空白字元。

(2)讀取字元直至再次遇到空白字元,讀取終止。

(3)輸入操作符會返回所讀的資料流。

當要讀入一整行時可以使用getline函式,getline函式需要兩個引數第乙個為輸入流   物件,第二個為乙個string型別物件。值得注意的是getline並不忽略行開頭的空白字       符。

三.string::size_type型別

(1)size()函式我們平時都直接預設它返回int型別的值,事實上size()函式返回的是string::size_type型別的值。

(2)string類型別和許多其他型別都定義了一些配套型別。重要的是通過這種配套型別,庫型別的使用就能與機器無關。size_type就是這些配套型別中的一種。  

(3)建議string的size操作結果的變數為string::size_type型別。特別重要的是,盡量 不要把size的返回值賦值給乙個int變數。

四.string物件的相加注意

當進行string物件和字串字面值混合連線操作時,+操作符的左右運算元必

須至少有乙個是string型別的物件。

例.s2=「world」;       string  s=「hellow」+「,」+s2;這裡是錯誤的,因為第乙個+

號的兩邊都為string字面值。

五.string轉為char *

很多時候我們還是需要將string型別的轉化為char*來實現自定義的操作,

c++標準庫也為了和之前用c寫的程式相容,於是可以用string的c_str()函式。 

string a="my blog

";char * b=a.c_str();//這樣不能通過編譯,原因是為了防止string物件內容被惡意修改,返回的是const型別的物件,所以要加const修飾

const char * b=a.c_str();//這樣就能編譯通過了。

標準庫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...