用string求其長度的時候,採用的模式和c中是不同的,c中為檢測最後的'\0',從而計算'\0'之前的字元的個數,而對於string中的size()與length()函式,並非採用此模式:
如原始碼:
c++標準庫中的string中兩者的源**如下:
size_type __clr_or_this_call length() const
size_type __clr_or_this_call size() const
所以兩者沒有區別。
length是因為沿用c語言的習慣而保留下來的,string類最初只有length,引入stl之後,為了相容又加入了size,它是作為stl容器的屬性存在的,便於符合stl的介面規則,以便用於stl的演算法。
string類的size()/length()方法返回的是位元組數,不管是否有漢字。
只有其中含有字元,就進行儲存,這就是stl計算size的方式。
如有不當之處還望指導。
C string 字串匹配
c inlcude c include find 在乙個字串中查詢乙個指定的單個字元或字元陣列。如果找到,就返回首次匹配的開始位置 如果沒有查詢到匹配的內容,就返回string npos。find first of 在乙個目標串中進行查詢,返回值是第乙個與指定字元組中任何字元匹配的字元位置。如果沒有...
C string 字串函式
december 8,2012 程式設計指南 和 連線字串 字串賦值 和 字串比較 例如a b,aa ab 比較字串 輸出 輸入字串 注意 使用過載的運算子 時,必須保證前兩個運算元至少有乙個為 string 型別。例如,下面的寫法是不合法的 include include intmain stri...
C string(字串)總結
string是在c 標準模板庫中的資料型別,string型別的物件用來存放字串,且不用擔心字串越界問題,標頭檔案為 string 變數名 1 string s1,s2 定義物件s1,s2,沒有初始化,string s3 hello 定義物件並初始化 cin s1 s2 輸入 abc defg cou...