C STL常用操作之string篇

2021-10-14 16:37:57 字數 2550 閱讀 8528

#include

一種資料型別,類似於字串,但是可以進行一些比字串更方便的操作,在程式設計的時候也是經常用到。

string s1;

//預設為空串""

string s2(4

,'c');

//長度為4且每個位置的字元均為c

cout << s1 << endl << s2 << endl;

getline

(cin, s1)

;//讀取一整行

cin >> s2;

//讀取乙個字串

;//預設為空串""

string s2(4

,'c');

//長度為4且每個位置的字元均為c

s1 +

= s2;

//將s2加到s1的後面,類似於strcat,但是只需要寫乙個加號

s1.begin()

;//獲得串s1開始位置的位址

s1.end()

;//獲得串s1結束位置的後乙個位置的位址

s1.empty()

;//bool型別,判斷s1是否為空串

s1.size()

; s1.

length()

;//得到s1的長度

s1.erase

(s1.

begin()

);//刪除s1的第乙個元素

s1.erase(2

,3);

//刪除從位置2開始的三個元素

s1 =

"abcdef"

;s2 = s1.

substr(0

,3);

//把s1從0開始取三個元素賦值給s2

s2 = s1.

substr(0

,-1)

;//把s1從0開始取到結束賦值給s2

s1.insert(4

,"abc");

//把abc插入到第四個位置

s1.replace(4

,3,"good");

//把第四個位置後面的連續三個位置元素替換為good

int in = s1.

find

("abc");

//從頭查詢,返回"222"第一次出現的位置,沒有返回string::npos

reverse

(s1.

begin()

, s1.

end())

;//逆置

這裡函式比較多,可以自行操作輸出檢視。

isalnum

('a');

//判斷是否為數字或字母

isalpha

('a');

//判斷是否為字母

isdigit

('a');

//判斷是否為數字

islower

('a');

//判斷是否為小寫字母

isupper

('a');

//判斷是否為大寫字母

此處均忽略了返回值,大家可以用if等語句進行嘗試。

注意某些編譯環境可能需要引用標頭檔案。

#include

string s =

"abcdef"

;for

(string:

:iterator it = s.

begin()

; it != s.

end();

++it)

cout <<

*it;

for(

auto it = s.

begin()

; it != s.

end();

++it)

cout <<

*it;

for(

auto it : s)

cout << it;

注意自動auto比較方便,但是會比較慢!

注意需要引用標頭檔案sstream。

stringstream對於有時候一整行作為乙個處理部分的時候用起來會方便很多。

string簡單使用,適用於像我這樣的小白快速上手,大神鍵下留情!

發現問題歡迎指正!

希望能幫助到你!

C STL之string常用指令

string,大小可變的字串,有些類似於c中的字元陣列。只記載本人在acm中常用的函式,並且全部經過程式測試。1 初始化 string s1 預設建構函式s1為空串 string s2 s1 將s2初始化為與s1相同 string s3 aaa 將s3初始化為aaa string s4 3,b 將s...

C STL操作,string容器

include include 動態陣列 可變陣列 include 演算法標頭檔案 using namespace std void printvector int v stl基本語法 void text1 容器也可以存放自定義資料型別 class person int age int id voi...

C STL常用操作之vector篇

include 它是一種容器,可以理解為向量 陣列 可以動態申請增加長度的陣列。vector int v1 預設陣列長度為0 vector int v2 4 申請了長度為4的陣列v2 vector int v3 4,5 申請了長度為4的陣列,並且每個位置都賦值為5用at或者類似於陣列 vector ...