C++中的string用法(二)
2012-07-26 16:14
99 查看
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 <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
如果所比较的两个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 <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
相关文章推荐
- 对C++ string append方法的常用用法详解
- C++中string用法
- c++中string的用法
- c++中char[], char*, string的用法初学
- C++中string,wstring,CString的基本概念和用法
- c++中的string常用函数用法总结
- C++STL之string的用法总结
- c++中string的用法
- C++ std::string --- 你可能不知道的一些用法
- c++中的string的用法总结
- c++中的string常用函数用法
- c++中string的用法
- C++中的string用法
- c++中的string常用函数用法总结
- 关于C++的String用法(新手向)
- C++ string assign()用法
- [C/C++]_[初级]_[标准字符串std::string 所有函数的用法总结]
- c++中string的用法小结
- C++ stringstream的用法
- 详解C++中string的用法和例子