歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

C++標准庫string類型

1. string的初始化

//1. string 的初始化方式
 string s1; //默認構造函數,初始化為空串""
 string s2(s1);  //將s2初始化為s1的副本
 string s3("value"); //初始化為字面值副本、
 string s4(5,'c'); //初始化為字符'c'的n個副本

由於歷史原因及為了與C語言兼容,string類型與字符字面值時不同類型。

2. string 對象的讀寫

string s;
cin>>s;

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

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

讀取操作將返回做操作數,這意味著可進行級聯操作。

2.1 讀入未知數目大的string

 while (cin>>s)
  cout<<s<<endl;

將輸入流的有效性作為判斷條件,即是否到達文件末尾且是否有效輸入。

2.2 用getlint 讀取整行文本

getline函數的兩個參數,(輸入流對象,string對象),從輸入流中讀取去一行,保存到string對象中,次string對象不包含換行符。

getline並不忽略開頭換行符,如遇到換行符,將作為一次有效輸入,返回空串到string對象。

注:getline函數返回將丟棄換行符。

3. string 的操作

3.1 長度

 if(s.empty() == false)
 {
  string::size_type length = s.size();
  cout<<"size = "<<length<<endl;
 }

size操作返回的是string::size_type類型,與機器無關,unsigned的保證足夠大能存儲任意string的長度。

最佳實踐:不要把size的返回值賦給一個int變量。

一個是存儲長度問題,一個是與機器的相關性。因此最安全的是使用string::size_type類型。

3.2 關系操作符

字典排序比較

Copyright © Linux教程網 All Rights Reserved