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