string,大小可變的字串,有些類似於c中的字元陣列。
只記載本人在acm中常用的函式,並且全部經過程式測試。
1、初始化
string s1;——預設建構函式s1為空串
string s2(s1);——將s2初始化為與s1相同
string s3("aaa");——將s3初始化為aaa
string s4(3, 'b');——將s4初始化為bbb
2、輸入輸出
能用cin,cout;不能用scanf,printf。
用cin讀入會忽略開頭所有空白字元(如空格,換行符,製表符),讀取字元直至再次遇到空白字元。
用getline能整行讀入(不會忽略前驅空格),讀入得到的字串末尾沒有換行符。
3、普通運算子
s[n],s1 + s2,s1 = s2,s1 == s2,!=, , >=均保持它們慣有的含義
4、insert插入
s1.insert(迭代器, 單個字元);——如s1.insert(s1.begin(), 's');
5、erase刪除
s1.erase(數字a, 數字b);——刪除s1[a]開始,刪除b個
s1.erase(迭代器)——刪除迭代器指示的那個元素
s1.erase(迭代器a, 迭代器b)——刪除迭代器a到迭代器b之間的所有元素,刪除迭代器a指示元素,不刪b
6、clear清空
7、repalce替換
與erase的一三個用法相似,不過沒有第二個用法
8、empty字串為空返回真,否則返回假
9、substr函式,擷取string中的一段。s = s.substr(a, b)則為將s變成自己的從第a位開始,長度為b的子串。(從第0位開始)比如s = "12345",s = s.substr(1, 3),則s = "234"。
測試程式部分為(測試過程中不小心刪掉了部分- -)
1/*2view test code* author: plumrain
3* created time: 2013-09-05 15:53
4* file name: string.cpp5*/
6 #include7 #include8 #include9 #include
1011
using
namespace
std;
1213
#define out(x) cout<
#define tst(a) cout<
16void
test_1()
1728
29void
test_2()
3037
38void
test_3()
3948
49void
test_insert()
5057
58void
test_erase()
5966
67void
test_replace()
6875
76int
main()
77
C STL之pair常用指令
只記載本人在acm中常用的函式。pair,將兩個資料組合成乙個資料。在其他stl 如map 函式需要傳回兩個值時可能會用到。1 初始化 include pair的標頭檔案很特別 std pair p 如std pair p 3,2.2 pairp1 std make pair 3,2.2 注意pai...
C STL常用操作之string篇
include 一種資料型別,類似於字串,但是可以進行一些比字串更方便的操作,在程式設計的時候也是經常用到。string s1 預設為空串 string s2 4 c 長度為4且每個位置的字元均為c cout s1 endl s2 endl getline cin,s1 讀取一整行 cin s2 讀...
c STL之string用法總結
1 標頭檔案 include 2 string類的常用建構函式 string str 構造空的string類物件,即空字串 string str str1 str1 和 str 一樣 string str abc 等價於 str abc string str abc strlen 等價於 abc 存...