C++中的string用法(二)

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个字符 与StrOff(下标)开始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 <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(下标)开始的_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 <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)找一个C-string。(默认从头找)
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)找一个string。(默认从头找)
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值