std string 的常用使用

2021-06-07 13:15:33 字數 3311 閱讀 4843

相關網帖 用 

string來代替char * 陣列,使用

sort排序演算法來排序,用

unique 函式來去重

1、define

string s1 = "hello";

string s2 = "world";

string s3 = s1 + "," + s2 +"!\n";

s1 += ",shanshan\n";

3、compare

if(s1 == s2)

.....

else if(s1 == "hello")

.....

4、 string 過載了許多操作符,包括 +, +=, <,=,, , <<, >>等,正式這些操作符,對字串操作非常方便

#include

#include

using

namespace std;

int main()

5、find函式

由於查詢是使用最為頻繁的功能之一,string 提供了非常豐富的查詢函式。其列表如下:

函式名描述find

查詢rfind

反向查詢

find_first_of

查詢包含子串中的任何字元,返回第乙個位置

find_first_not_of

查詢不包含子串中的任何字元,返回第乙個位置

find_last_of

查詢包含子串中的任何字元,返回最後乙個位置

find_last_not_of

查詢不包含子串中的任何字元,返回最後乙個位置

以上函式都是被過載了4次,以下是以find_first_of 函式為例說明他們的引數,其他函式和其引數一樣,也就是說總共有24個函式:

size_type find_first_of(const basic_string& s, size_type pos = 0)

size_type find_first_of(const chart* s, size_type pos, size_type n)

size_type find_first_of(const chart* s, size_type pos = 0)

size_type find_first_of(chart c, size_type pos = 0)

所有的查詢函式都返回乙個size_type型別,這個返回值一般都是所找到字串的位置,如果沒有找到,則返回string::npos。

其實string::npos表示的是-1。即沒找到就返回-1。例子如下:

#include

#include

using

namespace std;

int main()

int last = strinfo.find_last_of(strset);

if(last == string::npos)

cout << strinfo.substr(first, last - first + 1)}6、insert函式, replace函式和erase函式

string只是提供了按照位置和區間的replace函式,而不能用乙個string字串來替換指定string中的另乙個字串。

例子:#include

#include

using

namespace std;

int main()

string.erase(pos,srclen);//srclen是刪除的長度

string.insert(pos,strdst); //pos是定位,strdst是插入的函式

void string_replace(string & strbig, const string & strsrc, const string &strdst) } 

7、切割字串

#include #include #include using namespace std;

int main()

輸出如下:

bigdog

china

sonic

free

8、建構函式和析構函式

string s 生成乙個空字串s

string s(str) copy建構函式,生成字串str的乙個複製品

string s(str,stridx) 將字串str內始於位置stridx的部分,當作字串s的初值

string s(str,stridx,strlen) 將字串str內始於位置stridx且長度為strlen的部分,當作字串s的初值

string s(cstr)            以c-string cstr作為s的初值

string s(num,c)           生成乙個字串,包含num個c字元

string s(beg,end)         以區間[beg,end]內的字元作為s初值

s.~string()               銷毀所有字元,釋放記憶體

注意:std::string s('x');//error

std::string s(1,'x'); //ok,create a string that has one charactor 'x'

9、substr(string.substr的方法)

(1)引數

start:number -- 乙個整數,指示 my_str 中用於建立子字串的第乙個字元的位置。如果 start 為乙個負數,則起始位置從字串的結尾開始確定,其中 -1 表示最後乙個字元。

length:number -- 要建立的子字串中的字元數。如果沒有指定 length,則子字串包括從字串開頭到字串結尾的所有字元。

(2)返回

string -- 指定字串的子字串。

(3)示例

下面的示例建立乙個新字串 my_str,並使用 substr() 返回該字串中的第二個單詞;首先,使用正的 start 引數,然後使用負的 start 引數:

var my_str:string = new string("hello world");

var mysubstring:string = new string();

mysubstring = my_str.substr(6,5);

trace(mysubstring); // 輸出:world

mysubstring = my_str.substr(-5,5);

trace(mysubstring); // 輸出:world

分類: 

c++

std string 的常用使用

轉 std string 的常用使用 std string 的常用使用 用 string來代替char 陣列,使用 sort排序演算法來排序,用 unique 函式來去重 1 define string s1 hello string s2 world string s3 s1 s2 n s1 sh...

std string 的常用使用

std string 的常用使用 用 string來代替char 陣列,使用sort排序演算法 來排序,用unique 函式 include include using namespace std int main 5 find函式 由於查詢是使用最為頻繁的功能之一,string 提供了非常豐富的查...

std string 的常用使用

用 string來代替char 陣列,使用sort排序演算法 來排序,用unique 函式 等,正式這些操作符,對字串操作非常方便 include include using namespace std int main 5 find函式 由於查詢是使用最為頻繁的功能之一,string 提供了非常豐...