C 中string類的用法概述

2021-04-13 02:38:54 字數 2908 閱讀 4934

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 <

<< 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

::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

差不多

c 中string類的用法

前言 string類的常用方法有哪些?string查詢替換 分割字串 比較 擷取 型別轉換 排序等功能都提供了強大的處理函式,可以代替字元陣列來使用。熟練掌握好string的各種使用方法,能極大的提高程式設計效率哦 1.定義和構造初始化 string 提供了很多建構函式,可以以多種方式來初始化str...

標準C 中string類的用法總結

相信使用過mfc程式設計的朋友對cstring這個類的印象應該非常深刻吧?的確,mfc中的cstring類使用起來真的非常的方便好用。但是如果離開了mfc框架,還有沒有這樣使用起來非常方便的類呢?答案是肯定的。也許有人會說,即使不用mfc框架,也可以想辦法使用mfc中的api,具體的操作方法在本文最...

標準C 中的string類的用法總結

原文章 相信使用過mfc程式設計的朋友對cstring這個類的印象應該非常深刻吧?的確,mfc中的cstring類使用起來真的非常的方便好用。但是如果離開了mfc框架,還有沒有這樣使用起來非常方便的類呢?答案是肯定的。也許有人會說,即使不用mfc框架,也可以想辦法使用mfc中的api,具體的操作方法...