string類型

#include <string>

using std::string;


初始化

string s5 = “hiya”; //拷貝初始化

string s6("hiya"); //直接初始化


讀寫

string對象會自動忽略開頭和結尾的空白(即空格符,換行符,製表符)。

例如,輸入“  Hello    ”,輸出將是“Hello”。


用getline讀取一整行(待定。。。測試有點問題)

若要保留輸入時的空白符,則要用getline函數代替>>運算符。

getline(輸入流,string對象),從輸入流中讀入,直到遇到換行符爲止,將結果存入string對象(不存換行符)。如果輸入一開始就是換行符,則結果爲空string。

int main(){
    string line;
    while (getline(cin, line))
        cout << line << endl;
    return 0;
}

str.empty() 判斷str是否爲空
str.size() 返回str的長度。實際上,size()返回的時string::size_type類型,這是個無符號類型,而且能夠存放下任何string對象的大小。C++11中,可以用auto或者decltype來接收這種類型
auto len = line.size(); //len的類型是string::size_type
注意這裏的無符號特性,如果n是個負int,則s.size() < n將始終是true。所以:如果一個表達式中有size(),就不要使用int型變量。

string相加,s = s1 + s2
注意:加號兩邊至少有一個是string對象,例如s = “Hello” + “,”是錯誤的,因爲C++中的字符串字面值並不是string對象。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章