C++標準庫類型——string類型(一)

標準庫string類型

   使用前需要包含頭文件

   #include<string>

   using std::string;

  

   string對象的定義和初始化:

   --------------------------------------------------------------------------------------

   幾種初始化string對象的方式

   --------------------------------------------------------------------------------------

   string s1;                默認構造函數,s1爲空串

   string s2(s1);         將s2初始化爲s1的一個副本

   string s3("value"); 將s3初始化爲一個字符串字面量

   string s4(n, 'c');      將s4初始化爲字符'c'的n個副本

   --------------------------------------------------------------------------------------

   注:標準庫string類型和字符串字面值不是同一種類型!

 

   string對象的讀寫

   可以用標準庫iostream對象操作string類型:

   string s;

   cin >> s;

   cout << "you have input " << s << endl;

   從標準輸入讀取string,並將讀入的串存儲在s中。這個過程做了2件事情:

   1.讀取並忽略開頭所有的空白字符(空格、換行符、製表符)

   2.讀取字符知道再次遇到空白字符,讀取終止

 

   如果需要讀取未知數目的string對象

   while(cin>>s)   //循環一直爲true直到到達文件尾或者遇到無效輸入

   {

       cout << "you have input " << s << endl;

   }

   

   如果需要讀取整行文本,則可以用string IO操作:getline函數

   while(getline(cin, s))

   {

       cout << "have read a line " << s << endl;

   }

   由於getline函數返回時丟棄換行符,換行符不會存儲在string對象中

 

   string對象的操作:

   --------------------------------------------------------------------------------------

   s.empty();             //if s="", return true, else return false

   s.size();                //返回s中字符的個數

   s[n];                     //返回s中位置爲n的字符,位置從0開始計數

   s1+s2;                  //把s1和s2連接成一個新字符串,返回新生成的字符串

   s1=s2;                  //把s1內容替換爲s2的副本

   v1==v2;                //比較v1和v2的內容,相等則返回true,否則返回false

   !=, <, <=, >, >=    //保持慣有含義

 

 

 

 

 

 

 

 

 

  

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