3-27(string)

string是表示字符串的字符串类。管理字符数组的一个类。

在使用string类时,必须包含#include头文件以及using namespace std;


string对象的容量操作:

注意:

size();求的是字符个数。

clear();只是将string中有效字符清空,不改变底层大小,也就是capacity。

resize(n)和resize(n,c);都是将字符串中有效字符个数改变到n个,也就是size变为n;

不同的是当字符个数增加时:resize(n)是用0来填充多余空间,resize(n,c)是用字符c来填充;、

resize在增加元素个数时,可能会改变底层容量的大小,但是在减少元素个数时,不会改变底层容量大小。(因为resize改变的是size,而不是capacity)


string类对象的访问及遍历操作

1、for+operator[pos]   返回pos位置的字符,也就是重载了[]运算符,对象可以直接当数组用。

2、begin+end    为迭代器用法(iterator);begin获取一个字符的迭代器,end为最后i一个字符下一个位置的迭代器。(迭代器取元素需要解引用)

3、rbegin+rend  为倒着遍历迭代器用法。

4、范围for:for(auto ch:array){}

5、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都是遇到空格或者换行就停。


上一篇:Centos 搭建 Java Web 开发环境


下一篇:excel利用公式获取行或列中最后一个非空单元格数据