C++中string類的用法概述

來源:互聯網
上載者:User

basic_string::compare

如果所比較的兩個string 相等,則返回0; 操作string 大於參數string,返回

正數;操作string 小於參數string,返回負數。

(1) 比較操作string 與 _Str 或C-string _Ptr

int compare( const basic _ string& _Str ) const;

int compare( const value _ type* _Ptr ) const;

int com = s.compare ( sp );

(2) 比較操作string 中 _Pos1 ( 下標)開始的 _Num1 個字元 與 string _Str

比較操作string 中 _Pos1 ( 下標)開始的 _Num1 個字元 與 C-string _Ptr

比較操作string 中 Pos1 ( 下標)開始的 Num1 個字元 與 Str 中 Off ( 下標)開始 Count 個字

int compare( size _ type _Pos1 , size _ type _Num1 , const basic _ string& _Str );

int compare( size _ type _Pos1 , size _ type _Num1 , const value _ type* _Ptr ) const;

int compare( size _ type _Pos1 , size _ type _Num1 , const basic _ string& _Str ,

size _ type _Off , size _ type _Count );

int com1 = s.compare ( 2 , 3 , sp );

int com2 = s.compare ( 2 , 3 , c );

int com3 = s.compare ( 1 , 3 , cs , 3 ,1 );

basic_string::erase

刪除string 中的一個或幾個元素。前兩個成員函數,返回要被刪除的子串的下

一個元素的iterator; 第三個函數,返回刪除後的string 的引用。

(1) 刪除string 中從 _ First 到 _ Last 的字元

iterator erase( iterator _First , iterator _Last );

basic_string ::iterator s_Iter;

s_Iter = s.erase ( s.begin ( ) + 3 , s.end ( ) - 1 ); // s_Iter=s.end( )

(2) 刪除string 中 _It 所指的字元

iterator erase( iterator _It );

s_Iter = s.erase ( s.begin ( ) + 5 );

(3) 刪除string 中從 _Pos ( 下標)開始的 _Count 個字元

basic _ string& erase( size _ type _Pos = 0, size _ type _Count = npos );

str = s.erase ( 6 , 8 ); // str 也是 string

basic_string::find

尋找給定的string。返回找到的第一個string 下標值;如果沒找到則返回npos。

(1) 找一個character _Ch 。(預設從頭找)

size _ type find( value _ type _Ch , size _ type _Off = 0 ) const;

string s ( "Hello Everyone" );

basic_string ::size_type index1, index2;

static const basic_string ::size_type npos = -1;

index1 = s.find ( "e" , 3 ); // index1=8, 不是 6

index2 = s.find ( "x" ); // index2=-1

if ( indexCh1a != npos ) cout else cout (2) 找一個C-string。(預設從頭找)

size _ type find( const value _ type* _Ptr , size _ type _Off = 0 ) const;

string s ( "Let me make this perfectly clear." );

basic_string ::size_type index;

const char *c = "perfect";

index = s.find ( c , 5 ); // index=17

(3) 找一個string。(預設從頭找)

size _ type find( const basic _ string& _Str , size _ type _Off = 0 ) const;

string s ( "clearly this perfectly unclear." );

basic_string ::size_type index;

string sta ( "clear" );

index = s.find ( sta , 5 ); // index=24

 

其實string本質上跟vector差不多

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.