string是表示字符串的字符串類。管理字符數組的一個類。數組
在使用string類時,必須包含#include頭文件以及using namespace std;ide
string對象的容量操做:spa
注意:對象
size();求的是字符個數。ci
clear();只是將string中有效字符清空,不改變底層大小,也就是capacity。字符串
resize(n)和resize(n,c);都是將字符串中有效字符個數改變到n個,也就是size變爲n;get
不一樣的是當字符個數增長時:resize(n)是用0來填充多餘空間,resize(n,c)是用字符c來填充;、string
resize在增長元素個數時,可能會改變底層容量的大小,可是在減小元素個數時,不會改變底層容量大小。(由於resize改變的是size,而不是capacity)it
string類對象的訪問及遍歷操做class
一、for+operator[pos] 返回pos位置的字符,也就是重載了[]運算符,對象能夠直接當數組用。
二、begin+end 爲迭代器用法(iterator);begin獲取一個字符的迭代器,end爲最後i一個字符下一個位置的迭代器。(迭代器取元素須要解引用)
三、rbegin+rend 爲倒着遍歷迭代器用法。
四、範圍for:for(auto ch:array){}
五、c_str返回c格式得字符串。如char* ch=c_str();
查找
find:
find(ch,pos)pos位置開始找ch的值,pos默認爲0,返回值爲下標,若是沒有找到返回值爲string::npos
rfind 由end開始查找。
substr(pos,len)在pos位置開始截取len長度的字符串。substr爲某個對象的字串。
輸入:
getline(cin,s);獲取一行字符串,遇到換行停。
cin和scanf都是遇到空格或者換行就停。