basic_string::compare
如果所比較的兩個(gè)string 相等,則返回0; 操作string 大于參數(shù)string,返回
正數(shù);操作string 小于參數(shù)string,返回負(fù)數(shù)。
(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
(
下標(biāo))開(kāi)始的
_Num1
個(gè)字符 與 string
_Str
比較操作string 中
_Pos1
(
下標(biāo))開(kāi)始的
_Num1
個(gè)字符 與 C-string
_Ptr
比較操作string 中
Pos1
(
下標(biāo))開(kāi)始的
Num1
個(gè)字符 與
Str
中
Off
(
下標(biāo))開(kāi)始
Count
個(gè)字
符
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 中的一個(gè)或幾個(gè)元素。前兩個(gè)成員函數(shù),返回要被刪除的子串的下
一個(gè)元素的iterator; 第三個(gè)函數(shù),返回刪除后的string 的引用。
(1)
刪除string 中從
_
First
到
_
Last
的字符
iterator erase( iterator
_First
, iterator
_Last
);
basic_string <char>::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
(
下標(biāo))開(kāi)始的
_Count
個(gè)字符
basic
_
string& erase( size
_
type
_Pos
= 0, size
_
type
_Count
=
npos );
str = s.erase ( 6 , 8 );
// str
也是
string
basic_string::find
尋找給定的string。返回找到的第一個(gè)string 下標(biāo)值;如果沒(méi)找到則返回npos。
(1)
找一個(gè)character
_Ch
。(默認(rèn)從頭找)
size
_
type find( value
_
type
_Ch
, size
_
type
_Off
= 0 ) const;
string s ( "Hello Everyone" );
basic_string <char>::size_type index1, index2;
static const basic_string <char>::size_type npos = -1;
index1 = s.find ( "e" , 3 );
// index1=8,
不是
6
index2 = s.find ( "x" );
// index2=-1
if (
indexCh1a != npos
) cout <<indexCh1a << endl;
else cout << "The character 'e' was not found in str1 ." << endl;
(2)
找一個(gè)C-string。(默認(rèn)從頭找)
size
_
type find( const value
_
type*
_Ptr
, size
_
type
_Off
= 0 ) const;
string s ( "Let me make this perfectly clear." );
basic_string <char>::size_type index;
const char *c = "perfect";
index = s.find ( c , 5 );
// index=17
(3)
找一個(gè)string。(默認(rèn)從頭找)
size
_
type find( const basic
_
string&
_Str
, size
_
type
_Off
= 0 ) const;
string s ( "clearly this perfectly unclear." );
basic_string <char>::size_type index;
string sta ( "clear" );
index = s.find ( sta , 5 );
// index=24