C string類的使用

2021-06-21 13:13:58 字數 1570 閱讀 9585

1.為什麼要選擇string類

記憶體不受限,有沒有在oj為了輸入資料的字串的長度不可知而痛苦萬分,有了string類,所有都交給他來幫你完成吧,暫時也就可以忽略記憶體管理這件**的事情了。

豐富的操作符,這一點有點類似與python這樣的指令碼語言的中的str,用起來比較的得心應手,要是再有個分割split()函式,去除頭尾的空字元函式strip(),然後vector再來個join函式用起來感覺應該是大大的好。

所以既然選擇了c++,就應該好好把string 當成基本型別來使用。

2.怎麼用string類

2.1 建構函式

#include #include int main ()

結果 s1:

s2: initial string

s3: str

s4: a char

s5: another character sequence

s6: *********x

s7a: **********

s7b: initial

2.2 使用

迭代器:std::string::iterator it ;

for(it = s.begin();it != s.end(); it++)

sdt::cout<<*it;//print the single character

操作符: 這個比較像c裡面字串的操作

int length = s.length();

for(int i=0; i < length; i++)

std::cout《區別點:

c語言裡面識別乙個字串的結束符為'\0',

但是string類裡面不是的,所以要把字串截短一定要用erase()函式把不要的字串拿掉,,不能加上『\0 』就可以了

例子:

#include #include #include int main ()

return 0;

}

結果:

initial length 14

present length 14ctring length7

s ends with '\0'

3,操作函式

賦值 =

附加 + +=

compare()

if (str1.compare(str2) != 0)

std::cout << str1 << " is not " << str2 << '\n';

if (str1.compare(6,5,str2,4,5) == 0)

return 0;

4,查詢

找不到的返回值為: std::string::npos

5,其他

split參考:

6,如果需要轉換成char* 就用c_str()

參考:

c string類物件的使用

txj.cpp 此檔案包含 main 函式。程式執行將在此處開始並結束。include pch.h include include using namespace std intmain string s2 i love china 2 size length if s2.size 4 string...

C String類的實現

參考c primer.string類的實現,清翔兔 06,jan.include using namespace std class string string void private char m data inline string string const char str if str m...

C String類的實現

include using namespace std class string string void private char m data inline string string const char str inline string string const string other i...